install.fairie/.config/taskfiles/ci/Taskfile-github.yml

46 lines
1.5 KiB
YAML
Raw Normal View History

2022-12-24 12:04:59 -08:00
---
version: '3'
tasks:
actions:test:
deps:
- :install:software:act
- :install:software:docker
desc: Locally test the on-push GitHub Action event (only works for Linux containers)
hide:
sh: '! test -d .github/workflows'
summary: |
# Test GitHub Actions
This task ensures Docker and Act are installed. It then uses Act to locally
test Linux-based on-push GitHub Action events.
See [Act's README.md](https://github.com/nektos/act) for more information.
log:
error: Error encountered while testing GitHub Actions locally with `act`
start: Testing GitHub Actions locally with `act`
success: Completed local GitHub Actions test
cmds:
- act
synchronize:
deps:
- :install:software:git
summary: |
Forces a push to the GitHub master branch so that GitHub stays mirrored with
the GitLab master branch.
env:
GITHUB_HTTP_REPO:
sh: jq -r '.blueprint.repository.github' package.json
cmds:
- cmd: |
if [ "$GITHUB_HTTP_REPO" != 'null' ]; then
GITHUB_REPO_WITH_TOKEN="$(echo "$GITHUB_HTTP_REPO" | sed "s/github.com/${GITHUB_TOKEN}@github.com/")"
git remote add github "${GITHUB_REPO_WITH_TOKEN}.git"
git fetch --unshallow origin
git push github master --force
else
.config/log warn 'The .blueprint.repository.github field is missing! Cannot synchronize to GitHub.'
fi
ignore_error: true