Skip to content

feat(model-ad): create api description for gene expression ct (MG-238… #171

feat(model-ad): create api description for gene expression ct (MG-238…

feat(model-ad): create api description for gene expression ct (MG-238… #171

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
types:
- opened
- ready_for_review
- synchronize
merge_group:
env:
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
HEAD_REF: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || github.ref_name }}
HEAD_REPOSITORY: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name || github.repository }}
NX_BRANCH: ${{ github.event_name == 'pull_request' && github.event.number || github.ref_name }}
NX_CLOUD_ENCRYPTION_KEY: ${{ secrets.NX_CLOUD_ENCRYPTION_KEY }}
jobs:
push:
runs-on: ubuntu-22.04-4core-16GBRAM-150GBSSD
if: ${{ github.event_name != 'pull_request' }}
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN_READ_WRITE }}
steps:
- uses: actions/checkout@v4
name: Checkout ${{ env.HEAD_REPOSITORY }}:${{ env.HEAD_REF }}
with:
# We need to fetch all branches and commits so that Nx affected has a base to compare
# against.
fetch-depth: 0
- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v4
- name: Set up the dev container
uses: ./.github/actions/setup-dev-container
- name: Prepare the affected projects
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& workspace-install-affected"
- name: Lint the affected projects
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx affected --target=lint"
- name: Build the affected projects
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx affected --target=build,server"
- name: Test the affected projects (unit)
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx affected --target=test"
- name: Test the affected projects (integration)
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx affected --target=integration-test"
# - name: Scan the affected projects with Sonar
# run: |
# devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
# && nx affected --target=sonar"
- name: Build and publish the images of the affected projects
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin \
&& nx affected --target=build-image --configuration=edge"
- name: Remove the dev container
run: docker rm -f sage_devcontainer
pr:
runs-on: ubuntu-22.04-4core-16GBRAM-150GBSSD
# Runs for any pull_request (fork or same-repo)
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
name: Checkout merge commit
with:
# We need to fetch all branches and commits so that Nx affected has a base to compare
# against.
fetch-depth: 0
- name:
Switch from the detached HEAD of the merge commit to a new branch
# Buildx does not work on a detached HEAD
run: git switch -c new-branch
- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v4
- name: Set up the dev container
uses: ./.github/actions/setup-dev-container
- name: Prepare the affected projects
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& workspace-install-affected"
- name: Lint the affected projects
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx affected --target=lint"
- name: Build the affected projects
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx affected --target=build,server"
- name: Test the affected projects (unit)
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx affected --target=test"
- name: Test the affected projects (integration)
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx affected --target=integration-test"
- name: Build the images of the affected projects
run: |
devcontainer exec --workspace-folder ../sage-monorepo bash -c ". ./dev-env.sh \
&& nx affected --target=build-image"
- name: Remove the dev container
run: docker rm -f sage_devcontainer