mirror of
https://github.com/saltstack-formulas/openssh-formula.git
synced 2025-12-25 13:24:37 +01:00
85 lines
3.0 KiB
YAML
85 lines
3.0 KiB
YAML
---
|
|
name: Test & release
|
|
|
|
'on':
|
|
- pull_request
|
|
- push
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: ${{ github.ref != format('refs/heads/{0}',
|
|
github.event.repository.default_branch) }}
|
|
|
|
jobs:
|
|
should-run:
|
|
name: Prep / Should run
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
outputs:
|
|
should-run: ${{ steps.action.outputs.should-run }}
|
|
steps:
|
|
- id: action
|
|
# yamllint disable-line rule:line-length
|
|
uses: techneg-it/should-workflow-run@eff19348eb884f57e05bc6f05ae48ece3af14714 # v1.0.1
|
|
pre-commit:
|
|
name: Lint / `pre-commit`
|
|
needs: should-run
|
|
if: fromJSON(needs.should-run.outputs.should-run)
|
|
container: techneg/ci-pre-commit:v2.5.5@sha256:9d92b83a64378da3f9363668b0da244d9f12039d86579881d649ddb40ce261f3
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- run: | # Needed because of bug #2031 in `actions/checkout`
|
|
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
filter: tree:0
|
|
- name: Export `CI_CACHE_ID` from container
|
|
run: echo "CI_CACHE_ID=$(cat /.ci_cache_id)" >> $GITHUB_ENV
|
|
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
|
with:
|
|
path: ~/.cache/pre-commit
|
|
key: "${{ env.CI_CACHE_ID }}|\
|
|
${{ hashFiles('.pre-commit-config.yaml') }}"
|
|
restore-keys: |
|
|
${{ env.CI_CACHE_ID }}|
|
|
- name: Build cache
|
|
run: |
|
|
pre-commit gc
|
|
echo "Installing hook environments..."
|
|
time -f "Hook installation took %E" pre-commit install-hooks
|
|
- name: Run `pre-commit`
|
|
run: |
|
|
pre-commit run --all-files --color always --verbose
|
|
pre-commit run --color always --hook-stage manual --verbose commitlint-ci
|
|
results:
|
|
name: Release / Collect results
|
|
permissions:
|
|
contents: write
|
|
issues: write
|
|
pull-requests: write
|
|
checks: read
|
|
container: techneg/ci-semantic-release:v1.2.4@sha256:e7cfe36054a56382568c0824d2539a67a956711d7b674093db320815e928ee27
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
steps:
|
|
- run: | # Needed due to bug actions/checkout#2031
|
|
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
# yamllint disable-line rule:line-length
|
|
- uses: poseidon/wait-for-status-checks@899c768d191b56eef585c18f8558da19e1f3e707 # v0.6.0
|
|
with:
|
|
ignore: >
|
|
Release / Collect results
|
|
ignore_pattern: ^GitLab CI
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Run `semantic-release`
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
MAINTAINER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
semantic-release --dry-run
|
|
- run: echo "::notice ::Workflow success!"
|