Skip to content

Add some initial functionality for Unix (non-Windows) platforms #3

Add some initial functionality for Unix (non-Windows) platforms

Add some initial functionality for Unix (non-Windows) platforms #3

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
tags: '*'
merge_group: # GitHub merge queue
concurrency:
# Skip intermediate builds: all builds except for builds on the `main` branch
# Cancel intermediate builds: only pull request builds
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/main' || github.run_number }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
permissions:
contents: read
jobs:
finalize:
runs-on: ubuntu-latest
timeout-minutes: 10
needs: [build]
if: always() # this line is important to keep the `finalize` job from being marked as skipped; do not change or delete this line
steps:
- run: |
echo build: ${{ needs.build.result }}
echo checked-in-files: ${{ needs.checked-in-files.result }}
# The last line must NOT end with ||
# All other lines MUST end with ||
- run: exit 1
if: |

Check failure on line 29 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / CI

Invalid workflow file

The workflow is not valid. .github/workflows/ci.yml (Line: 29, Col: 13): Unexpected symbol: '('. Located at position 35 within expression: (needs.build.result != 'success') (needs.checked-in-files.result != 'success')
(needs.build.result != 'success')
(needs.checked-in-files.result != 'success')
build:
timeout-minutes: 30
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
- macos-11 # I think this is Intel; TODO: verify this
- macos-12 # I think this is Intel; TODO: verify this
- macos-13 # I think this is Intel; TODO: verify this
- macos-14 # I think this is Apple Silicon; TODO: verify this
steps:
### Check out the repo:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
### Cleanall:
- run: make cleanall
### Install the deps
# Unix (non-Windows):
- uses: asdf-vm/actions/setup@05e0d2ed97b598bfce82fd30daf324ae0c4570e6
if: runner.os != 'Windows'
- run: make unix-install-deps
if: runner.os != 'Windows'
# Windows does not support asdf, so we have to use `actions/setup-node`
# to install asdf:
# Windows:
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8
if: runner.os == 'Windows'
with:
node-version-file: '.tool-versions'
- run: make windows-install-deps
if: runner.os == 'Windows'
- name: Print the NodeJS version (for debugging)
run: |
set -x
which -a node
node --version
which -a npm
npm --version
### Build:
# - run: make bundle # TODO: uncomment this line
- run: make build # TODO: delete this line
### Make sure some other `make` targets don't bitrot:
- name: Run some other `make` targets to ensure that they don't bitrot
run: |
make quick-build
make clean
make cleanall
checked-in-files:
timeout-minutes: 30
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
steps:
### Check out the repo:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
### Cleanall:
- run: make cleanall
### Install the deps
# Unix (non-Windows):
- uses: asdf-vm/actions/setup@05e0d2ed97b598bfce82fd30daf324ae0c4570e6
if: runner.os != 'Windows'
- run: make unix-install-deps
if: runner.os != 'Windows'
# Windows does not support asdf, so we have to use `actions/setup-node`
# to install asdf:
# Windows:
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8
if: runner.os == 'Windows'
with:
node-version-file: '.tool-versions'
- run: make windows-install-deps
if: runner.os == 'Windows'
- name: Print the NodeJS version (for debugging)
run: |
set -x
which -a node
node --version
which -a npm
npm --version
### Build:
# - run: make bundle # TODO: uncomment this line
- run: make build # TODO: delete this line
### Make sure some other `make` targets don't bitrot:
- run: ./bin/check_uncommitted_files.bash