Skip to content

Commit

Permalink
github: add action to check dotslash files
Browse files Browse the repository at this point in the history
This ensures that they can't bitrot and at least launch on all platforms.

Signed-off-by: Austin Seipp <[email protected]>
  • Loading branch information
thoughtpolice committed Aug 16, 2024
1 parent 0b8ef2b commit 8c9964c
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
30 changes: 30 additions & 0 deletions .github/actions/install-dotslash/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Install DotSlash
description: Install DotSlash on the current system
inputs:
version:
description: "version of dotslash"
required: false
default: "0.4.1"
runs:
using: "composite"
steps:
- name: Install DotSlash
shell: bash
run: |
mkdir -p $RUNNER_TEMP/dotslash
echo "$RUNNER_TEMP/dotslash" >> $GITHUB_PATH
if [[ "$RUNNER_OS" == "Windows" ]]; then
C:\\msys64\\usr\\bin\\wget.exe https://github.com/facebook/dotslash/releases/download/v0.4.1/dotslash-windows.v0.4.1.tar.gz
tar xf dotslash-windows.v0.4.1.tar.gz
mv dotslash.exe $RUNNER_TEMP/dotslash
else
if [[ "$RUNNER_OS" == "macOS" ]]; then
wget https://github.com/facebook/dotslash/releases/download/v0.4.1/dotslash-macos.v0.4.1.tar.gz
tar xf dotslash-macos.v0.4.1.tar.gz
elif [[ "$RUNNER_OS" == "Linux" ]]; then
wget https://github.com/facebook/dotslash/releases/download/v0.4.1/dotslash-ubuntu-22.04.x86_64.v0.4.1.tar.gz
tar xf dotslash-ubuntu-22.04.x86_64.v0.4.1.tar.gz
fi
mv dotslash $RUNNER_TEMP/dotslash
fi
38 changes: 38 additions & 0 deletions .github/workflows/check-dotslash.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: check dotslash files

on:
push:
branches:
- main
pull_request:

permissions: read-all

jobs:
nix:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
abi: x86_64-unknown-linux-gnu
- os: windows-latest
abi: x86_64-pc-windows-msvc
- os: macos-latest
abi: aarch64-apple-darwin
runs-on: ${{ matrix.os }}
timeout-minutes: 15 # NOTE (aseipp): keep in-sync with the build.yml timeout limit

name: check dotslash files
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- name: Install DotSlash
uses: ./.github/actions/install-dotslash
- shell: bash
run: |
for x in $(ls tools/bin); do
if ! dotslash "tools/bin/$x" --help; then
echo "error: $x failed to run on ${{ matrix.abi }}"
exit 1
fi
done

0 comments on commit 8c9964c

Please sign in to comment.