From 4a80845b65696ad78df35e5bca8de542b625d6de Mon Sep 17 00:00:00 2001 From: alvicsam Date: Tue, 22 Oct 2024 17:28:20 +0200 Subject: [PATCH] [ci] Migrate CI from GitLab to GitHub --- .github/workflows/backend_check.yml | 4 ++ .github/workflows/backend_docs.yml | 4 ++ .github/workflows/backend_fmt.yml | 4 ++ .github/workflows/backend_tests.yml | 4 ++ .github/workflows/docker-build.yml | 73 +++++++++++++++++++++++++++++ .github/workflows/frontend.yml | 4 ++ 6 files changed, 93 insertions(+) create mode 100644 .github/workflows/docker-build.yml diff --git a/.github/workflows/backend_check.yml b/.github/workflows/backend_check.yml index 387289912..7b38ebd02 100644 --- a/.github/workflows/backend_check.yml +++ b/.github/workflows/backend_check.yml @@ -14,6 +14,10 @@ on: - 'backend/**' - '!frontend/**' +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + env: CARGO_TERM_COLOR: always diff --git a/.github/workflows/backend_docs.yml b/.github/workflows/backend_docs.yml index 1774d1560..f283ed858 100644 --- a/.github/workflows/backend_docs.yml +++ b/.github/workflows/backend_docs.yml @@ -14,6 +14,10 @@ on: - 'backend/**' - '!frontend/**' +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + env: CARGO_TERM_COLOR: always diff --git a/.github/workflows/backend_fmt.yml b/.github/workflows/backend_fmt.yml index 000a17410..227e4a145 100644 --- a/.github/workflows/backend_fmt.yml +++ b/.github/workflows/backend_fmt.yml @@ -14,6 +14,10 @@ on: - 'backend/**' - '!frontend/**' +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + env: CARGO_TERM_COLOR: always diff --git a/.github/workflows/backend_tests.yml b/.github/workflows/backend_tests.yml index 25bb8dba5..92c548a02 100644 --- a/.github/workflows/backend_tests.yml +++ b/.github/workflows/backend_tests.yml @@ -14,6 +14,10 @@ on: - 'backend/**' - '!frontend/**' +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + env: CARGO_TERM_COLOR: always diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml new file mode 100644 index 000000000..91236dfa4 --- /dev/null +++ b/.github/workflows/docker-build.yml @@ -0,0 +1,73 @@ +name: Docker Build +# Workflow checks that docker build works + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +env: + IMAGE_NAME: parity/substrate-telemetry + +jobs: + set-variables: + name: Set variables + runs-on: ubuntu-latest + outputs: + VERSION: ${{ steps.version.outputs.VERSION }} + steps: + - name: Define version + id: version + run: | + export COMMIT_SHA=${{ github.sha }} + export COMMIT_SHA_SHORT=${COMMIT_SHA:0:8} + export REF_NAME=${{ github.ref_name }} + export REF_SLUG=${REF_NAME//\//_} + if [[ ${REF_SLUG} == "main" ]] + then + echo "VERSION=${REF_SLUG}-${COMMIT_SHA_SHORT}" >> $GITHUB_OUTPUT + else + echo "VERSION=${REF_SLUG}" >> $GITHUB_OUTPUT + fi + echo "set VERSION=${VERSION}" + + build_backend: + name: Build backend docker image + runs-on: ubuntu-latest + needs: [set-variables] + env: + VERSION: ${{ needs.set-variables.outputs.VERSION }} + steps: + - name: Check out the repo + uses: actions/checkout@v4 + + - name: Build and push Docker image from main + uses: docker/build-push-action@v5 + with: + context: backend + file: ./Dockerfile + push: false + tags: | + ${{ env.IMAGE_NAME }}-backend:${{ env.VERSION }} + + build_frontend: + name: Build frontend docker image + runs-on: ubuntu-latest + needs: [set-variables] + env: + VERSION: ${{ needs.set-variables.outputs.VERSION }} + steps: + - name: Check out the repo + uses: actions/checkout@v4 + + - name: Build and push Docker image from main + uses: docker/build-push-action@v5 + with: + context: frontend + file: ./Dockerfile + push: false + tags: | + ${{ env.IMAGE_NAME }}-frontend:${{ env.VERSION }} diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index edb027ce3..bf7766b58 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -15,6 +15,10 @@ on: - 'frontend/**' - '!backend/**' +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + defaults: run: working-directory: ./frontend