diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml deleted file mode 100644 index c76aa88..0000000 --- a/.github/workflows/backend.yml +++ /dev/null @@ -1,109 +0,0 @@ -name: Backend CI - -on: - push: - branches: - - master - paths: - - ".github/workflows/backend*" - - "backend/**" - - "!frontend/**" - pull_request: - paths: - - ".github/workflows/backend*" - - "backend/**" - - "!frontend/**" - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -env: - CARGO_TERM_COLOR: always - -defaults: - run: - working-directory: ./backend - -jobs: - check: - name: Check Code - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v4 - - - name: Install Rust stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: backend - - - name: Build - run: cargo check --all-targets --verbose - tests: - name: Run tests - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v4 - - - name: Install Rust stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: backend - cache-on-failure: true - - - name: Cargo test - run: cargo test --verbose --jobs 1 - docs: - name: Check Documentation - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v4 - - - name: Install Rust stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - - name: Rust Cache - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - with: - workspaces: backend - - - name: Check internal documentation links - run: RUSTDOCFLAGS="--deny broken_intra_doc_links" cargo doc --verbose --workspace --no-deps --document-private-items - fmt: - name: Run rustfmt - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v4 - - - name: Install Rust stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - components: clippy, rustfmt - - - name: Cargo fmt - run: cargo fmt --verbose --all -- --check diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml deleted file mode 100644 index 23cd532..0000000 --- a/.github/workflows/docker-build.yml +++ /dev/null @@ -1,73 +0,0 @@ -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: ./backend/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: ./frontend/Dockerfile - push: false - tags: | - ${{ env.IMAGE_NAME }}-frontend:${{ env.VERSION }} diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml deleted file mode 100644 index bf7766b..0000000 --- a/.github/workflows/frontend.yml +++ /dev/null @@ -1,52 +0,0 @@ -# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - -name: Frontend CI - -on: - push: - paths: - - '.github/workflows/frontend.yml' - - 'frontend/**' - - '!backend/**' - pull_request: - paths: - - '.github/workflows/frontend.yml' - - 'frontend/**' - - '!backend/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -defaults: - run: - working-directory: ./frontend - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [14.x] - - steps: - - uses: actions/checkout@v4 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 - with: - node-version: ${{ matrix.node-version }} - - - name: Install - run: npm install - - - name: Check - run: npm run pretty:check - - - name: Test - run: npm run test - - - name: Build - run: npm run build diff --git a/.github/workflows/publish-deploy.yml b/.github/workflows/publish-deploy.yml deleted file mode 100644 index 6543000..0000000 --- a/.github/workflows/publish-deploy.yml +++ /dev/null @@ -1,141 +0,0 @@ -name: Publish and deploy - -on: - push: - branches: - - master - tags: - - "v*" - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -#to use reusable workflow -permissions: - id-token: write - contents: read - -env: - IMAGE_NAME: parity/substrate-telemetry - APP: "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} == "master" ]] - 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] - environment: master_n_tags - env: - VERSION: ${{ needs.set-variables.outputs.VERSION }} - steps: - - name: Check out the repo - uses: actions/checkout@v4 - - - name: Log in to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Docker image from master - uses: docker/build-push-action@v5 - with: - context: backend - file: ./backend/Dockerfile - push: true - tags: | - ${{ env.IMAGE_NAME }}-backend:${{ env.VERSION }} - - build_frontend: - name: Build frontend docker image - runs-on: ubuntu-latest - needs: [set-variables] - environment: master_n_tags - env: - VERSION: ${{ needs.set-variables.outputs.VERSION }} - steps: - - name: Check out the repo - uses: actions/checkout@v4 - - - name: Log in to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Docker image from master - uses: docker/build-push-action@v5 - with: - context: frontend - file: ./frontend/Dockerfile - push: true - tags: | - ${{ env.IMAGE_NAME }}-frontend:${{ env.VERSION }} - - deploy-stg: - name: Deploy Staging - runs-on: ubuntu-latest - needs: [set-variables, build_backend, build_frontend] - environment: parity-stg - env: - VERSION: ${{ needs.set-variables.outputs.VERSION }} - ARGOCD_SERVER: "argocd-stg.teleport.parity.io" - steps: - - name: Deploy to ArgoCD - uses: paritytech/argocd-deployment-action@main - with: - environment: "parity-stg" - tag: "${{ env.VERSION }}" - app_name: "${{ env.APP }}" - app_packages: "frontend,backend" - argocd_additional_args: "-p substrate-telemetry.image.backend.tag=${{ env.VERSION }} -p substrate-telemetry.image.frontend.tag=${{ env.VERSION }}" - argocd_server: ${{ env.ARGOCD_SERVER }} - teleport_token: ${{ env.APP }} - teleport_app_name: "argocd-stg" - argocd_auth_token: ${{ secrets.ARGOCD_AUTH_TOKEN }} - - deploy-prod: - name: Deploy Production - runs-on: ubuntu-latest - needs: [set-variables, deploy-stg] - environment: parity-prod - # Deploy only if the tag is v* - if: startsWith(github.ref, 'refs/tags/v') - env: - VERSION: ${{ needs.set-variables.outputs.VERSION }} - ARGOCD_SERVER: "argocd-prod.teleport.parity.io" - steps: - - name: Deploy to ArgoCD - uses: paritytech/argocd-deployment-action@main - with: - environment: "parity-prod" - tag: "${{ env.VERSION }}" - app_name: "${{ env.APP }}" - app_packages: "frontend,backend" - argocd_additional_args: "-p substrate-telemetry.image.backend.tag=${{ env.VERSION }} -p substrate-telemetry.image.frontend.tag=${{ env.VERSION }}" - argocd_server: ${{ env.ARGOCD_SERVER }} - teleport_token: ${{ env.APP }} - teleport_app_name: "argocd-prod" - argocd_auth_token: ${{ secrets.ARGOCD_AUTH_TOKEN }}