use read IFS instead of for loop in case of space in dir names #918
Workflow file for this run
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: Main workflow | |
on: | |
pull_request: | |
push: | |
schedule: | |
- cron: '17 14 * * *' | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
runs-on: ubuntu-latest | |
if: github.event.pull_request.draft == false | |
steps: | |
- name: Install dependencies | |
run: | | |
uname -a | |
sudo apt-get update | |
sudo apt-get install expect mergerfs | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Run tests | |
run: | | |
cd .. | |
cp -r try ~ | |
cd ~/try | |
scripts/run_tests.sh | |
- name: Upload script | |
uses: actions/upload-artifact@v2 | |
with: | |
name: try | |
path: try | |
manpage: | |
runs-on: ubuntu-latest | |
if: github.event.pull_request.draft == false | |
steps: | |
- name: Install pandoc | |
run: | | |
sudo apt-get update | |
sudo apt-get install pandoc | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Build manpage | |
run: make -C man | |
- name: Upload script | |
uses: actions/upload-artifact@v2 | |
with: | |
name: try.1 | |
path: man/try.1 | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Run scripts/lint.sh | |
run: scripts/lint.sh | |
version-check: | |
runs-on: ubuntu-latest | |
if: github.event.pull_request.draft == false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Check version in script against manpage | |
run: | | |
SCRIPT_VERSION=$(grep 'TRY_VERSION=' try | cut -d'"' -f 2) | |
MANPAGE_VERSION=$(grep 'TRY(1)' docs/try.1.md | cut -d' ' -f 4) | |
echo "SCRIPT_VERSION = '$SCRIPT_VERSION'" | |
echo "MANPAGE_VERSION = '$MANPAGE_VERSION'" | |
[ "$SCRIPT_VERSION" = "$MANPAGE_VERSION" ] | |
shellcheck: | |
name: 'Run ShellCheck' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Run ShellCheck | |
uses: ludeeus/action-shellcheck@master | |
with: | |
ignore_paths: >- | |
completions | |
prerelease: | |
needs: | |
- test | |
- manpage | |
- version-check | |
- lint | |
- shellcheck | |
runs-on: ubuntu-latest | |
if: ${{ github.ref == 'refs/heads/main' }} | |
steps: | |
- name: Download binaries | |
uses: actions/download-artifact@v2 | |
- name: Collect artifacts | |
run: | | |
mv try.1/try.1 try/try.1 | |
- name: Deploy 'latest' release | |
uses: "marvinpinto/action-automatic-releases@latest" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "latest" | |
prerelease: true | |
title: "Latest script and manpage" | |
files: | | |
try/* |