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 7f91da2
Show file tree
Hide file tree
Showing 2 changed files with 71 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
41 changes: 41 additions & 0 deletions .github/workflows/check-dotslash.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
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 [ "$x" = "README.md" ]; then
continue;
fi
if ! dotslash "tools/bin/$x" --help; then
echo "error: $x failed to run on ${{ matrix.abi }}"
exit 1
fi
done

0 comments on commit 7f91da2

Please sign in to comment.