Skip to content

Test install script #1470

Test install script

Test install script #1470

Workflow file for this run

name: Test install script
on:
push:
paths:
- ".github/workflows/test-install.ya?ml"
- "etc/install.sh"
pull_request:
paths:
- ".github/workflows/test-install.ya?ml"
- "etc/install.sh"
schedule:
# Run every day at 03:00 UTC to catch breakage caused by external events
- cron: "0 3 * * *"
# workflow_dispatch event allows the workflow to be triggered manually.
# See: https://docs.github.com/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#workflow_dispatch
workflow_dispatch:
env:
TOOL_NAME: arduino-lint # The executable's file name
jobs:
default:
permissions: {}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run script with defaults
shell: sh
run: |
"${{ github.workspace }}/etc/install.sh"
- name: Verify installation
shell: bash
run: |
"${PWD}/bin/${{ env.TOOL_NAME }}" --version
bindir:
permissions: {}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
runs-on: ${{ matrix.os }}
steps:
- name: Set install path environment variable
shell: bash
run: |
# See: https://docs.github.com/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#setting-an-environment-variable
echo "BINDIR=${{ runner.temp }}/custom-installation-folder" >> "$GITHUB_ENV"
- name: Checkout repository
uses: actions/checkout@v4
- name: Run script with custom install location
shell: sh
run: |
mkdir -p "${{ env.BINDIR }}"
"${{ github.workspace }}/etc/install.sh"
- name: Verify installation
shell: bash
run: |
"${{ env.BINDIR }}/${{ env.TOOL_NAME }}" --version
version:
permissions: {}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
runs-on: ${{ matrix.os }}
env:
VERSION: "1.0.0"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run script with version argument
shell: sh
run: |
"${{ github.workspace }}/etc/install.sh" "${{ env.VERSION }}"
- name: Verify installation
shell: bash
run: |
"${PWD}/bin/${{ env.TOOL_NAME }}" --version | grep --fixed-strings "${{ env.VERSION }}"
nightly:
permissions: {}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run script with nightly build version argument
shell: sh
run: |
"${{ github.workspace }}/etc/install.sh" "nightly-latest"
- name: Verify installation
shell: bash
run: |
"${PWD}/bin/${{ env.TOOL_NAME }}" --version | grep "^nightly-"