try running FUSE on Windows #2492
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: runtests | |
on: | |
workflow_dispatch: | |
inputs: | |
debug: | |
type: boolean | |
required: false | |
default: false | |
bypass-cache: | |
type: boolean | |
required: false | |
default: false | |
push: | |
branches: | |
- master | |
pull_request: | |
env: | |
PTP_READ_TOKEN: ${{ secrets.PTP_READ_TOKEN }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
name: Julia ${{ matrix.flavor.version }} - ${{ matrix.flavor.os }} - ${{ matrix.flavor.arch }} | |
runs-on: ${{ matrix.flavor.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
flavor: | |
- { os: ubuntu-latest, arch: x64, version: "1.x" } | |
- { os: macos-latest, arch: arm64, version: "1.x" } | |
- { os: windows-latest, arch: x86, version: "1.x" } | |
env: | |
GKSwstype: 100 # disable Plots.jl interactive output | |
steps: | |
- name: Install Ubuntu in WSL on Windows | |
if: matrix.flavor.os == 'windows-latest' | |
run: | | |
wsl --install -d Ubuntu | |
- name: Get number of CPU cores | |
uses: SimenB/github-actions-cpu-cores@v1 | |
id: cpu-cores | |
- name: Set JULIA_NUM_THREADS=${{ steps.cpu-cores.outputs.count }} | |
run: echo "JULIA_NUM_THREADS=${{ steps.cpu-cores.outputs.count }}" >> $GITHUB_ENV | |
shell: bash | |
- uses: actions/checkout@v2 | |
- name: Check if fuse bot commit | |
run: | | |
author=$(git log -1 --pretty=format:'%an') | |
if [ "$author" = "fuse bot" ]; then | |
echo "Skipping action due to commit made by 'fuse bot'." | |
exit 78 | |
fi | |
shell: bash | |
- uses: julia-actions/setup-julia@v1 | |
with: | |
version: ${{ matrix.flavor.version }} | |
arch: ${{ matrix.flavor.arch }} | |
show-versioninfo: true | |
- name: Generate cache key with date | |
id: cache-date | |
run: echo "::set-output name=date::$(date +%Y-%m-%d)" | |
shell: bash | |
- name: Cache Julia artifacts | |
uses: actions/cache@v2 | |
if: github.event.inputs.bypass-cache != 'true' | |
with: | |
path: | | |
~/.julia/artifacts | |
~/.julia/packages | |
~/.julia/compiled | |
key: ${{ runner.os }}-julia-${{ matrix.flavor.version }}-${{ matrix.flavor.os }}-${{ matrix.flavor.arch }}-${{ steps.cache-date.outputs.date }} | |
- name: Remove FuseRegistry and Add Registry | |
run: | | |
rm -rf ~/.julia/registries/FuseRegistry | |
julia -e 'using Pkg; Pkg.Registry.add(RegistrySpec(url="https://github.com/ProjectTorreyPines/FuseRegistry.jl.git")); Pkg.Registry.add("General"); Pkg.Registry.update()' | |
if [[ "$RUNNER_OS" == "macOS" ]]; then | |
find ~/.julia/registries/FuseRegistry -type f -name 'Package.toml' -exec sed -i '' 's|git@github.com:|https://project-torrey-pines:${{secrets.PTP_READ_TOKEN}}@github.com/|g' {} + | |
else | |
find ~/.julia/registries/FuseRegistry -type f -name 'Package.toml' -exec sed -i 's|git@github.com:|https://project-torrey-pines:${{secrets.PTP_READ_TOKEN}}@github.com/|g' {} + | |
fi | |
shell: bash | |
- name: Run Makefile Command (Linux/WSL) | |
run: | | |
if [[ "$RUNNER_OS" == "Windows" ]]; then | |
wsl make install_ci_add | |
else | |
make install_ci_add | |
fi | |
shell: bash | |
- name: 'Save Manifest.toml' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Manifest-${{ matrix.flavor.os }}-${{ matrix.flavor.arch }} | |
path: Manifest.toml | |
- uses: julia-actions/julia-buildpkg@v1 | |
- uses: julia-actions/julia-runtest@v1 | |
- name: Debug with tmate if failure + manual trigger + debug mode | |
if: ${{ failure() && github.event_name == 'workflow_dispatch' && inputs.debug }} | |
uses: mxschmitt/action-tmate@v3 | |
timeout-minutes: 120 |