Skip to content

ci: try another token #206

ci: try another token

ci: try another token #206

Workflow file for this run

name: continuous integration
on:
push:
branches:
- main
pull_request:
permissions:
id-token: write
contents: write
actions: write
pull-requests: write
pages: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
ci:
name: continuous integration
runs-on: ledgerhq-shared-small
timeout-minutes: 60
steps:
- name: Checkout
timeout-minutes: 10
uses: actions/checkout@v4
with:
submodules: "true"
- name: Check skippable steps
timeout-minutes: 10
id: skip
uses: fkirc/skip-duplicate-actions@v5
with:
cancel_others: true
skip_after_successful_duplicate: true
do_not_skip: '["workflow_dispatch", "schedule"]'
paths_filter: |
project:
paths:
- '*.lock'
- 'pyproject.toml'
ci:
paths:
- '.github/**'
docs:
paths:
- 'docs/**'
sources:
paths:
- 'src/**'
- 'tests/**'
- name: Pull request | Add author
timeout-minutes: 5
if: github.event_name == 'pull_request'
uses: toshimaru/auto-author-assign@v2.1.1
- name: Pull request | Add labels
timeout-minutes: 30
if: github.event_name == 'pull_request'
uses: actions/labeler@v5
- name: Pull request | Enforce labels
timeout-minutes: 5
if: github.event_name == 'pull_request'
uses: mheap/github-action-required-labels@v5
with:
mode: minimum
count: 1
labels: |
documentation
ci
sources
dependencies
add_comment: true
- name: Get API keys
timeout-minutes: 10
shell: bash
run: |
cat << EOF | jq -r 'to_entries[] | select(.key|endswith("_API_KEY")) | "\(.key)=\(.value)"' >> "$GITHUB_ENV"
${{ toJSON(secrets) }}
EOF
- name: Setup pre-commit cache
timeout-minutes: 10
uses: actions/cache@v4
with:
path: ~/.cache/pre-commit
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Setup python / PDM
timeout-minutes: 10
uses: ./.github/actions/pdm
- name: Setup Graphviz
timeout-minutes: 10
uses: ts-graphviz/setup-graphviz@v2
- name: Install dependencies
timeout-minutes: 10
run: pdm install --dev --check --frozen-lockfile
env:
FURY_TOKEN: ${{ secrets.PYPI_DEPLOY_TOKEN}}
- name: Lint
timeout-minutes: 10
if: |
!steps.skip.outputs.should_skip ||
!fromJSON(steps.skip.outputs.paths_result).project.should_skip ||
!fromJSON(steps.skip.outputs.paths_result).ci.should_skip ||
!fromJSON(steps.skip.outputs.paths_result).sources.should_skip
run: pdm run lint
env:
PRE_COMMIT_COLOR: always
- name: Test
timeout-minutes: 20
if: |
!steps.skip.outputs.should_skip ||
!fromJSON(steps.skip.outputs.paths_result).project.should_skip ||
!fromJSON(steps.skip.outputs.paths_result).ci.should_skip ||
!fromJSON(steps.skip.outputs.paths_result).sources.should_skip
run: pdm run test
- name: Publish test reports
timeout-minutes: 10
if: ${{ !cancelled() }}
uses: pmeier/pytest-results-action@v0.7.1
with:
path: tests/.tests.xml
title: Test results
summary: true
display-options: fEX
fail-on-empty: false
- name: Setup docs cache
timeout-minutes: 10
if: ${{ !cancelled() }}
uses: actions/cache@v4
with:
path: docs/build
key: docs-cache-${{ hashFiles('docs') }}
- name: Build docs
timeout-minutes: 10
if: ${{ !cancelled() }}
run: pdm run docs
- name: Setup Github Pages
timeout-minutes: 10
if: ${{ !cancelled() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
uses: actions/configure-pages@v5
- name: Upload docs to Github Pages
timeout-minutes: 10
if: ${{ !cancelled() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
uses: actions/upload-pages-artifact@v3
with:
path: './docs/build'
- name: Deploy GitHub Pages
timeout-minutes: 10
if: ${{ !cancelled() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
uses: actions/deploy-pages@v4