--- 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