mirror of
https://github.com/streamyfin/streamyfin.git
synced 2026-07-05 03:52:51 +01:00
Use the GitHub Actions parallel-steps feature (2026-06-25) to group setup steps with no dependency between them: checkout, toolchains (Bun/JDK/Xcode), the EAS CLI install and the disk-space cleanup now run concurrently, and the Bun/Gradle cache restores overlap. On the iOS jobs, Xcode/EAS setup previously ran after the ~2 min prebuild despite not needing it. Also in release.yml: queue successive release runs in order (queue: max) instead of dropping the extra pending run, and fix the expo-github-action pin comment (the pinned SHA is tag v9.0.0, not main).
51 lines
1.6 KiB
YAML
51 lines
1.6 KiB
YAML
name: 🔒 Lockfile Consistency Check
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [develop, master]
|
|
push:
|
|
branches: [develop, master]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
check-lockfile:
|
|
name: 🔍 Check bun.lock and package.json consistency
|
|
runs-on: ubuntu-26.04
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- parallel:
|
|
- name: 📥 Checkout repository
|
|
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
|
show-progress: false
|
|
submodules: recursive
|
|
fetch-depth: 0
|
|
|
|
- name: 🍞 Setup Bun
|
|
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
|
|
with:
|
|
# renovate: datasource=npm depName=bun
|
|
bun-version: "1.3.14"
|
|
|
|
- name: 💾 Cache Bun dependencies
|
|
uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
|
|
with:
|
|
path: |
|
|
~/.bun/install/cache
|
|
key: ${{ runner.os }}-${{ runner.arch }}-bun-${{ hashFiles('bun.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ runner.arch }}-bun-
|
|
|
|
- name: 🛡️ Verify lockfile consistency
|
|
run: |
|
|
set -euxo pipefail
|
|
echo "➡️ Checking for discrepancies between bun.lock and package.json..."
|
|
bun install --frozen-lockfile --dry-run --ignore-scripts
|
|
echo "✅ Lockfile is consistent with package.json!"
|