From 2271b7da27ed6ddbff5233cb2da99c63f8595d3e Mon Sep 17 00:00:00 2001 From: Techassi Date: Tue, 26 Sep 2023 12:22:41 +0200 Subject: [PATCH] Update actions, remove old workflow file --- .github/workflows/build.yml | 138 ------------------------------- .github/workflows/pr_general.yml | 9 +- 2 files changed, 5 insertions(+), 142 deletions(-) delete mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 49d477bb..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,138 +0,0 @@ ---- -name: Stackable Build Pipeline - -on: - push: - branches: - - main - - staging - - trying - - "renovate/**" - tags: - - "[0-9][0-9].[0-9]+.[0-9]+" - pull_request: - merge_group: - -env: - RUST_VERSION: 1.70.0 - CARGO_TERM_COLOR: always - CARGO_INCREMENTAL: "0" - CARGO_PROFILE_DEV_DEBUG: "0" - RUSTFLAGS: "-D warnings" - RUSTDOCFLAGS: "-D warnings" - RUST_LOG: "info" - DEV_REPO_HELM_URL: https://repo.stackable.tech/repository/helm-dev - TEST_REPO_HELM_URL: https://repo.stackable.tech/repository/helm-test - STABLE_REPO_HELM_URL: https://repo.stackable.tech/repository/helm-stable - -jobs: - select_helm_repo: - name: Select target helm repository based on action trigger - runs-on: ubuntu-latest - outputs: - helm_repository: ${{ steps.selecthelmrepo.outputs.helm_repo }} - steps: - - id: selecthelmrepo - env: - TRIGGER: ${{ github.event_name }} - GITHUB_REF: ${{ github.ref }} - run: | - if [[ $TRIGGER == "pull_request" ]]; then - echo "exporting test as target helm repo: ${{ env.TEST_REPO_HELM_URL }}" - echo "helm_repo=${{ env.TEST_REPO_HELM_URL }}" >> $GITHUB_OUTPUT - elif [[ $TRIGGER == "push" && $GITHUB_REF == "refs/heads/main" ]]; then - echo "exporting dev as target helm repo: ${{ env.DEV_REPO_HELM_URL }}" - echo "helm_repo=${{ env.DEV_REPO_HELM_URL }}" >> $GITHUB_OUTPUT - elif [[ ( $TRIGGER == "create" || $TRIGGER == "push" ) && $GITHUB_REF == refs/tags/* ]]; then - echo "exporting stable as target helm repo: ${{ env.STABLE_REPO_HELM_URL }}" - echo "helm_repo=${{ env.STABLE_REPO_HELM_URL }}" >> $GITHUB_OUTPUT - else - echo "Unknown trigger and ref combination encountered, skipping publish step: $TRIGGER $GITHUB_REF" - echo "helm_repo=skip" >> $GITHUB_OUTPUT - fi - - # This job cleans up the CRDs and Helm charts, followed by rebuilding them - # It then runs a `git diff` and fails the entire workflow, if any difference is encountered. - # - # Since CRD files are generated during the 'cargo build' process we need to run this once after - # removing the CRD files to ensure that the checked in versions match what the code expects. - # - # The reason for this step is, that developers are expected to check in up-to-date versions of charts - # as we'd otherwise have to build these in CI and commit them back to the PR, which - # creates all kinds of problems. - # This failsafe simply aborts anything that has not had charts rebuilt before pushing. - check_charts: - name: Check if committed Helm charts are up to date - runs-on: ubuntu-latest - steps: - - name: Install host dependencies - run: | - sudo apt-get update - sudo apt-get install protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config - - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 - with: - submodules: recursive - - name: Set up Helm - uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5 - with: - version: v3.6.2 - - name: Set up cargo - uses: dtolnay/rust-toolchain@1.68.2 - - name: Set up rust-cache - uses: Swatinem/rust-cache@359a70e43a0bb8a13953b04a90f76428b4959bb6 # v2.2.0 - with: - key: charts - # - name: Regenerate charts - # run: make regenerate-charts - - name: Check if committed charts were up to date - run: git diff --exit-code - - name: Git Diff showed uncommitted changes - if: ${{ failure() }} - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6 - with: - script: | - core.setFailed('Committed charts were not up to date, please regenerate and re-commit!') - - package_and_publish: - name: Package Charts, Build Docker Image and publish them - needs: - - tests_passed - - select_helm_repo - runs-on: ubuntu-latest - env: - NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} - HELM_REPO: ${{ needs.select_helm_repo.outputs.helm_repository }} - if: needs.select_helm_repo.outputs.helm_repository != 'skip' - outputs: - IMAGE_TAG: ${{ steps.printtag.outputs.IMAGE_TAG }} - steps: - - name: Install host dependencies - run: | - sudo apt-get update - sudo apt-get install protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config - - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@1.68.2 - with: - components: rustfmt - # This step checks if the current run was triggered by a push to a pr (or a pr being created). - # If this is the case it changes the version of this project in all Cargo.toml files to include the suffix - # "-pr" so that the published artifacts can be linked to this PR. - - name: Update version if PR - if: ${{ github.event_name == 'pull_request' }} - run: | - cargo install cargo-edit --version 0.11.11 - cargo set-version --offline --workspace 0.0.0-pr${{ github.event.pull_request.number }} - - # Recreate charts and publish charts and docker image. The "-e" is needed as we want to override the - # default value in the makefile if called from this action, but not otherwise (i.e. when called locally). - # This is needed for the HELM_REPO variable. - - name: Publish Docker image and Helm chart - run: make -e publish - # Output the name of the published image to the Job output for later use - - id: printtag - name: Output image name and tag - run: echo "IMAGE_TAG=$(make -e print-docker-tag)" >> $GITHUB_OUTPUT diff --git a/.github/workflows/pr_general.yml b/.github/workflows/pr_general.yml index ca0af2c8..1a9c8756 100644 --- a/.github/workflows/pr_general.yml +++ b/.github/workflows/pr_general.yml @@ -54,7 +54,7 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 with: submodules: recursive - - uses: EmbarkStudios/cargo-deny-action@8a8607bd8e2b3a514d5a40174cc7c55b229d9ba7 # v1.4.0 + - uses: EmbarkStudios/cargo-deny-action@a50c7d5f86370e02fae8472c398f15a36e517bb8 # v1.5.4 with: command: check ${{ matrix.checks }} @@ -93,11 +93,12 @@ jobs: - name: Run clippy action to produce annotations env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: actions-rs/clippy-check@b5b5f21f4797c02da247df37026fcd0a5024aa4d # renovate: tag=v1.0.7 + uses: giraffate/clippy-action@871cc4173f2594435c7ea6b0bce499cf6c2164a1 if: env.GITHUB_TOKEN != null with: - args: --all-targets -- -D warnings - token: ${{ secrets.GITHUB_TOKEN }} + clippy_flags: --all-targets -- -D warnings + github_token: ${{ secrets.GITHUB_TOKEN }} + reporter: "github-pr-check" - name: Run clippy manually without annotations env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}