diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f3f85da..6dc3851 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -16,61 +16,132 @@ on: - ui/** - pom.xml - .github/workflows/* - workflow_dispatch: jobs: - test: - uses: making/workflows/.github/workflows/maven-unit-test.yaml@main + unit-test: + permissions: + packages: write + contents: read + uses: categolj/workflows/.github/workflows/unit-test.yaml@main + build-oci-image-jvm-amd64: + permissions: + packages: write + contents: read + needs: unit-test + uses: categolj/workflows/.github/workflows/build-oci-image-jvm.yaml@main with: - e2e_test: true - test_url_1: http://localhost:8080/actuator/health - upload_target: false - build-jvm-image: - needs: test + image_name: jvm_amd64 + image_file: jvm_amd64.yaml + runs_on: ubuntu-latest + build-oci-image-jvm-aarch64: permissions: + packages: write contents: read + needs: unit-test + uses: categolj/workflows/.github/workflows/build-oci-image-jvm.yaml@main + with: + image_name: jvm_aarch64 + image_file: jvm_aarch64.yaml + runs_on: ARM64 + push-multi-arch-image-jvm: + permissions: packages: write - uses: making/workflows/.github/workflows/build-docker-image-maven-jvm.yaml@main + contents: read + needs: + - build-oci-image-jvm-amd64 + - build-oci-image-jvm-aarch64 + uses: categolj/workflows/.github/workflows/push-multi-arch-image.yaml@main with: - image_file: image.yaml - download_target: false + prefix: jvm + save-image-jvm-amd64: + permissions: + packages: write + contents: write + needs: build-oci-image-jvm-amd64 + uses: categolj/workflows/.github/workflows/save-images.yaml@main + with: + image_name: jvm_amd64 + image_file: jvm_amd64.yaml + save-image-jvm-aarch64: + permissions: + packages: write + contents: write + needs: build-oci-image-jvm-aarch64 + uses: categolj/workflows/.github/workflows/save-images.yaml@main + with: + image_name: jvm_aarch64 + image_file: jvm_aarch64.yaml + build-oci-image-native-amd64: + permissions: + packages: write + contents: read + needs: unit-test + uses: categolj/workflows/.github/workflows/build-oci-image-native.yaml@main + with: + image_name: native_amd64 + image_file: native_amd64.yaml + runs_on: ubuntu-latest + build-oci-image-native-aarch64: + permissions: + packages: write + contents: read + needs: unit-test + uses: categolj/workflows/.github/workflows/build-oci-image-native.yaml@main + with: + image_name: native_aarch64 + image_file: native_aarch64.yaml + runs_on: ARM64 + push-multi-arch-image-native: + permissions: + packages: write + contents: read + needs: + - build-oci-image-native-amd64 + - build-oci-image-native-aarch64 + uses: categolj/workflows/.github/workflows/push-multi-arch-image.yaml@main + with: + prefix: native + save-image-native-amd64: + permissions: + packages: write + contents: write + needs: build-oci-image-native-amd64 + uses: categolj/workflows/.github/workflows/save-images.yaml@main + with: + image_name: native_amd64 + image_file: native_amd64.yaml + save-image-native-aarch64: + permissions: + packages: write + contents: write + needs: build-oci-image-native-aarch64 + uses: categolj/workflows/.github/workflows/save-images.yaml@main + with: + image_name: native_aarch64 + image_file: native_aarch64.yaml build-native-binaries: - needs: test + needs: build-oci-image-native-amd64 permissions: contents: write - uses: making/workflows/.github/workflows/build-native-image.yaml@main + uses: categolj/workflows/.github/workflows/build-native-image.yaml@main strategy: matrix: with: - runs-on: ubuntu-latest binary_suffix: -x86_64-pc-linux - - runs-on: macos-14 - binary_suffix: -aarch64-apple-darwin + - runs-on: ARM64 + binary_suffix: -aarch64-pc-linux - runs-on: macos-13 binary_suffix: -x86_64-apple-darwin + - runs-on: macos-latest + binary_suffix: -aarch64-apple-darwin with: download_target: false e2e_test: true test_url_1: http://localhost:8080/actuator/health - # TODO how to test? - # cat src/test/resources/logs.json | curl -H "Content-Type: application/json" -H "Authorization: Bearer changeme" --fail --show-error --silent http://localhost:8080/v1/logs --data-binary @- -v - # curl -s http://localhost:8080/api/logs -H "Authorization: Bearer changeme" | jq . runs-on: ${{ matrix.with.runs-on }} binary_suffix: ${{ matrix.with.binary_suffix }} - build-native-docker-image: - needs: build-native-binaries - permissions: - contents: read - packages: write - uses: making/workflows/.github/workflows/build-docker-image-maven-native.yaml@main - with: - image_file: image_native.yaml - use_pre_built_artifact: true - pre_built_artifact_name: lognroll-x86_64-pc-linux - pre_built_artifact_path: lognroll-x86_64-pc-linux - e2e_test: true - test_url_1: http://localhost:8080/actuator/health deploy-to-fly: - needs: build-native-docker-image + needs: build-oci-image-native-amd64 permissions: id-token: write contents: read @@ -88,6 +159,11 @@ jobs: with: name: lognroll-x86_64-pc-linux path: lognroll-x86_64-pc-linux + - name: Download build artifacts aarch64-pc-linux + uses: actions/download-artifact@v2 + with: + name: lognroll-aarch64-pc-linux + path: lognroll-aarch64-pc-linux - name: Download build artifacts x86_64-apple-darwin uses: actions/download-artifact@v2 with: @@ -105,5 +181,6 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} files: | ./lognroll-x86_64-pc-linux/lognroll-x86_64-pc-linux + ./lognroll-aarch64-pc-linux/lognroll-aarch64-pc-linux ./lognroll-x86_64-apple-darwin/lognroll-x86_64-apple-darwin - ./lognroll-aarch64-apple-darwin/lognroll-aarch64-apple-darwin + ./lognroll-aarch64-apple-darwin/lognroll-aarch64-apple-darwin \ No newline at end of file