name: "CI/CD Pipeline Develop" on: push: branches: - develop concurrency: group: "CI/CD Pipeline-develop" cancel-in-progress: false jobs: gitleaks: name: "Linter" uses: ./.github/workflows/gitleaks.yml with: head_sha: ${{ github.sha }} base_sha: ${{ github.event.pull_request.base.sha || github.event.before }} bandit: name: "Linter" uses: ./.github/workflows/bandit.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} ruff: name: "Linter" uses: ./.github/workflows/ruff.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} blue: name: "Linter" uses: ./.github/workflows/blue.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} biome: name: "Linter" uses: ./.github/workflows/biome.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} stylelint: name: "Linter" uses: ./.github/workflows/stylelint.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} build-docker: name: "Build" permissions: contents: read checks: write uses: ./.github/workflows/docker-build.yml with: sha: ${{ github.event.pull_request.head.sha || github.event.after }} branch_name: ${{ github.event.pull_request.head.ref || github.ref_name }} secrets: inherit deploy: name: "Deploy" runs-on: ubuntu-latest needs: - build-docker steps: - uses: actions/github-script@v8 env: DOCKER_IMAGE_VERSION: ${{ needs.build-docker.outputs.build_version }} RELEASE_NAME: 'ls-develop' with: github-token: ${{ secrets.GIT_PAT }} script: | const docker_image_version = process.env.DOCKER_IMAGE_VERSION; const release_name = process.env.RELEASE_NAME; github.rest.actions.createWorkflowDispatch({ owner: "HumanSignal", repo: "label-studio-enterprise", workflow_id: "argocd-deploy.yml", ref: "develop", inputs: { docker_image_version: docker_image_version, release_name: release_name, template_name: "lso", } }); pytest: name: "Tests" uses: ./.github/workflows/tests.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} secrets: inherit migrations: name: "Tests" uses: ./.github/workflows/test_migrations.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} secrets: inherit conda-test: name: "Tests" uses: ./.github/workflows/test_conda.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} secrets: inherit tests-yarn-unit: name: "Tests" uses: ./.github/workflows/tests-yarn-unit.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} secrets: inherit tests-yarn-integration: name: "Tests" uses: ./.github/workflows/tests-yarn-integration.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} secrets: inherit tests-yarn-e2e: name: "Tests" uses: ./.github/workflows/tests-yarn-e2e.yml with: head_sha: ${{ github.event.pull_request.head.sha || github.event.after }} secrets: inherit check_gate: name: "Ready to ship" if: always() needs: - gitleaks - bandit - ruff - blue - biome - stylelint - pytest - migrations - build-docker - tests-yarn-unit - tests-yarn-integration - tests-yarn-e2e runs-on: ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: allowed-skips: gitleaks, bandit, ruff, blue, biome, stylelint, pytest, migrations, conda-test, build-docker, tests-yarn-unit, tests-yarn-integration, tests-yarn-e2e jobs: ${{ toJSON(needs) }}