mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-09-12 19:50:57 +05:00
93 lines
2.4 KiB
YAML
93 lines
2.4 KiB
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [dev, main]
|
|
push:
|
|
branches: [dev, main]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
actions: read
|
|
contents: read
|
|
packages: write
|
|
security-events: write
|
|
|
|
concurrency:
|
|
group: ci-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || github.event_name == 'workflow_dispatch' && format('manual-{0}', github.run_id) || github.ref }}
|
|
cancel-in-progress: ${{ github.event_name != 'workflow_dispatch' }}
|
|
|
|
jobs:
|
|
lint:
|
|
name: Linters
|
|
uses: ./.github/workflows/lint.yml
|
|
secrets: inherit
|
|
|
|
install-cli-platform:
|
|
name: Install and CLI platform compatibility
|
|
uses: ./.github/workflows/test.yml
|
|
secrets: inherit
|
|
|
|
tests:
|
|
name: Discovered test matrix
|
|
uses: ./.github/workflows/test-parallel.yml
|
|
secrets: inherit
|
|
|
|
documentation:
|
|
name: Documentation and root tests
|
|
uses: ./.github/workflows/docs.yml
|
|
secrets: inherit
|
|
|
|
codeql:
|
|
name: CodeQL
|
|
uses: ./.github/workflows/codeql.yml
|
|
secrets: inherit
|
|
|
|
python-artifacts:
|
|
name: Tested Python artifacts
|
|
uses: ./.github/workflows/pip.yml
|
|
secrets: inherit
|
|
|
|
docker-digests:
|
|
name: Tested Docker images
|
|
uses: ./.github/workflows/docker.yml
|
|
with:
|
|
push_digests: false
|
|
secrets: inherit
|
|
|
|
required:
|
|
name: All required CI lanes
|
|
if: ${{ always() }}
|
|
needs:
|
|
- lint
|
|
- install-cli-platform
|
|
- tests
|
|
- documentation
|
|
- codeql
|
|
- python-artifacts
|
|
- docker-digests
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Verify every required lane succeeded
|
|
env:
|
|
LINT_RESULT: ${{ needs.lint.result }}
|
|
INSTALL_CLI_PLATFORM_RESULT: ${{ needs.install-cli-platform.result }}
|
|
TESTS_RESULT: ${{ needs.tests.result }}
|
|
DOCUMENTATION_RESULT: ${{ needs.documentation.result }}
|
|
CODEQL_RESULT: ${{ needs.codeql.result }}
|
|
PYTHON_ARTIFACTS_RESULT: ${{ needs.python-artifacts.result }}
|
|
DOCKER_DIGESTS_RESULT: ${{ needs.docker-digests.result }}
|
|
run: |
|
|
for result in \
|
|
"$LINT_RESULT" \
|
|
"$INSTALL_CLI_PLATFORM_RESULT" \
|
|
"$TESTS_RESULT" \
|
|
"$DOCUMENTATION_RESULT" \
|
|
"$CODEQL_RESULT" \
|
|
"$PYTHON_ARTIFACTS_RESULT" \
|
|
"$DOCKER_DIGESTS_RESULT"
|
|
do
|
|
[[ "$result" == success ]]
|
|
done
|
|
echo 'All required CI lanes and tested release artifacts succeeded.'
|