-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Idea.
I have been thinking about writing a skeleton of action for gap-users.
So instead of asking the gap-package maintainers to run all set of actions, we will ask them to write an abstraction layer and not bother them about our internal updates as long as they are major-compliant.
Benefits.
✅ We could deliver the whole value for the end users and not bother them about internal actions updates.
✅ We will treat gap-packages maintainers as internal clients of gap-actions ecosystem.
✅ It will simplify updates across smaller pieces (actions).
✅ I think it will cover 90% of use cases, like with release-pkg and updates-gh-pages.
Disadvantage.
❌ An early stage for this project.
We should probably help the every package maintainer to migrate and convince its valuable.
❌ Another action to maintain.
Happy to discuss this idea, @stertooy, @fingolfin, @ChrisJefferson , @wilfwilson.
Examples below.
Before.
name: CI
# Trigger the workflow on push or pull request
on:
push:
branches:
- master
- main
pull_request:
# the `concurrency` settings ensure that not too many CI jobs run in parallel
concurrency:
# group by workflow and ref; the last slightly strange component ensures that for pull
# requests, we limit to 1 concurrent job, but for the default repository branch we don't
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref_name != github.event.repository.default_branch || github.run_number }}
# Cancel intermediate builds, but only if it is a pull request build.
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
# The CI test job
test:
name: ${{ matrix.gap-branch }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
gap-branch:
- master
- stable-4.15
- stable-4.14
- stable-4.13
- stable-4.12
- stable-4.11
- stable-4.10
- stable-4.9
steps:
- uses: actions/checkout@v6
- uses: gap-actions/setup-gap@v2
with:
GAPBRANCH: ${{ matrix.gap-branch }}
- uses: gap-actions/build-pkg@v1
- uses: gap-actions/run-pkg-tests@v3
- uses: gap-actions/run-pkg-tests@v3
with:
only-needed: true
- uses: gap-actions/process-coverage@v2
- uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}After.
name: CI
# Trigger the workflow on push or pull request
on:
push:
branches:
- master
- main
pull_request:
# the `concurrency` settings ensure that not too many CI jobs run in parallel
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref_name != github.event.repository.default_branch || github.run_number }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
# The CI test job
test:
name: ${{ matrix.gap-branch }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
gap-branch:
- master
- stable-4.15
- stable-4.14
- stable-4.13
- stable-4.12
- stable-4.11
- stable-4.10
- stable-4.9
steps:
- uses: actions/checkout@v6
- uses: gap-actions/skeleton-gap-test@v2
with:
gap-branch: ${{ matrix.gap-branch }}
codecov-token: ${{ secrets.CODECOV_TOKEN }}