agama/.github/workflows/ci-changes.yml
Ladislav Slezák 94870bc0f0
[SLE-16.0] Cache installed Ruby gems in CI (#3528)
## Problems

- Old versions of GitHub Actions (they use old unsupported NodeJS v20,
GitHub prints a ["Node.js 20 actions are deprecated"
](https://github.com/agama-project/agama/actions/runs/26086960005)
warning)
- Installing the needed Ruby gems takes quite long time (about [one and
half
minute](https://github.com/agama-project/agama/actions/runs/26175301761/job/77003739150#step:9:7))

## Solution

- Update the GitHub Action versions
- Cache the installed Ruby gems, restoring the cache and running Bundler
now takes [just about 15
seconds](https://github.com/agama-project/agama/actions/runs/26182626931/job/77029525706#step:8:17).
So the test run is it at least more than one minute faster!

## Testing

- Tested with the updated GitHub Actions
2026-05-21 09:48:50 +02:00

51 lines
1.5 KiB
YAML

name: "CI - Changes"
# Manually run the OBS source validator service to mainly check the consistency
# of the *.changes files.
permissions:
contents: read
on:
push:
paths:
# NOTE: GitHub Actions do not allow using YAML references, the same path
# list is used below for the pull request event. Keep both lists in sync!!
# this file as well
- .github/workflows/ci-changes.yml
# any .changes file
- "**/*.changes"
pull_request:
paths:
# NOTE: GitHub Actions do not allow using YAML references, the same path
# list is used above for the push event. Keep both lists in sync!!
# this file as well
- .github/workflows/ci-changes.yml
# any .changes file
- "**/*.changes"
jobs:
check:
runs-on: ubuntu-latest
container:
image: registry.opensuse.org/opensuse/tumbleweed:latest
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Configure and refresh repositories
# disable unused repositories to have faster refresh
run: zypper modifyrepo -d repo-non-oss repo-openh264 repo-update && zypper ref
- name: Install OBS service
run: zypper --non-interactive install --no-recommends --allow-downgrade obs-service-source_validator
- name: Check the sources
# %h prints the directory name of the file
run: find . -name "*.changes" -type f -printf "%h\n" | xargs -I @ bash -c "echo 'Checking sources in @...' && cd @ && /usr/lib/obs/service/source_validator"