mirror of
https://github.com/roc-lang/roc.git
synced 2024-10-05 14:47:18 +03:00
50 lines
1.8 KiB
YAML
50 lines
1.8 KiB
YAML
on:
|
|
pull_request:
|
|
|
|
name: devtools nix files test - macos
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
devtools-test-macos:
|
|
name: devtools-test-mac
|
|
runs-on: [self-hosted, macOS, ARM64]
|
|
timeout-minutes: 120
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Only run all steps if a nix file changed
|
|
run: |
|
|
git fetch origin ${{ github.base_ref }}
|
|
if git diff --name-only origin/${{ github.base_ref }} HEAD | grep 'nix'; then
|
|
echo "A nix file was changed. Testing devtools nix files..."
|
|
echo "nix_changed=true" >> $GITHUB_ENV
|
|
else
|
|
echo "A nix file was changed. No need to run tests."
|
|
echo "nix_changed=false" >> $GITHUB_ENV
|
|
fi
|
|
|
|
- name: test devtools/flake.nix
|
|
if: env.nix_changed == 'true'
|
|
id: devtools_test_step
|
|
run: |
|
|
sed -i '' "s|/home/username/gitrepos/roc|$(realpath .)|g" devtools/flake.nix
|
|
cat devtools/flake.nix
|
|
mkdir -p ../temp
|
|
cp devtools/flake.nix ../temp
|
|
cp devtools/flake.lock ../temp
|
|
cd ../temp
|
|
git init
|
|
git add flake.nix flake.lock
|
|
nix develop --show-trace
|
|
|
|
- name: Print tip on fail
|
|
if: steps.devtools_test_step.outcome == 'failure'
|
|
run: |
|
|
echo "The devtools test failed, this can likely be fixed by"
|
|
echo "locally deleting devtools/flake.lock and following the"
|
|
echo "instructions in devtools/README.md. This will create a"
|
|
echo "new flake.lock you should use to replace the old devtools/flake.lock"
|