Allow disable compression by setting -a to "none" #2
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
# This is a basic workflow to help you get started with Actions | |
name: CI | |
# Controls when the action will run. | |
on: | |
push: | |
pull_request: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: Install kcov | |
run: sudo apt-get install -y kcov | |
- name: Install restic | |
run: | | |
wget https://github.com/restic/restic/releases/download/v0.12.0/restic_0.12.0_linux_amd64.bz2 | |
bzip2 -d restic_0.12.0_linux_amd64.bz2 | |
sudo cp restic_0.12.0_linux_amd64 /usr/local/bin/restic | |
sudo chmod +x /usr/local/bin/restic | |
- name: Run tests | |
run: test/test.sh | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: Install kcov | |
run: sudo apt-get install -y kcov | |
- name: Install restic | |
run: | | |
wget https://github.com/restic/restic/releases/download/v0.12.0/restic_0.12.0_linux_amd64.bz2 | |
bzip2 -d restic_0.12.0_linux_amd64.bz2 | |
sudo cp restic_0.12.0_linux_amd64 /usr/local/bin/restic | |
sudo chmod +x /usr/local/bin/restic | |
- name: Run coverage | |
run: kcov --include-pattern=backup.sh "$(pwd)"/coverage test/test.sh | |
- name: Codecov | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage/test.sh/cov.xml | |
shellcheck: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: Install shellcheck | |
run: sudo apt-get install -y shellcheck | |
- name: shellcheck backup.sh | |
run: shellcheck backup.sh | |
- name: shellcheck test.sh | |
run: shellcheck test/test.sh | |
release: | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/v') | |
needs: [test, coverage, shellcheck] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: Create release | |
uses: ncipollo/[email protected] | |
with: | |
artifacts: "backup.sh" | |
token: ${{ secrets.GITHUB_TOKEN }} | |
docker: | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/v') | |
needs: [test, coverage, shellcheck] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v1 | |
with: | |
platforms: all | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
with: | |
version: latest | |
- name: ghcr.io login | |
run: | | |
echo ${{ secrets.CR_PAT }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin | |
- name: Run Buildx | |
run: | | |
docker buildx build \ | |
--pull \ | |
--push \ | |
--platform linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 \ | |
--tag ghcr.io/nicolaschan/minecraft-backup:${GITHUB_REF#refs/*/} \ | |
--tag ghcr.io/nicolaschan/minecraft-backup:latest . |