diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9310640..f08015b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: submodules: 'recursive' - name: Install kcov and shellcheck - run: sudo apt-get install -y kcov shellcheck + run: sudo apt-get install -y kcov shellcheck restic - name: Run tests run: test/test.sh @@ -39,10 +39,3 @@ jobs: - name: shellcheck run: shellcheck backup.sh - - - name: Build the Docker image - run: | - echo ${{ secrets.CR_PAT }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin - docker build . --file Dockerfile --tag ghcr.io/nicolaschan/minecraft-backup:$GITHUB_SHA --tag ghcr.io/nicolaschan/minecraft-backup:latest - docker push ghcr.io/nicolaschan/minecraft-backup:$GITHUB_SHA - docker push ghcr.io/nicolaschan/minecraft-backup:latest diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..16844bb --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,50 @@ +# This is a basic workflow to help you get started with Actions + +name: Docker + +# Controls when the action will run. +on: + push: + branches: + - master + 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: + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + + - name: Install kcov and shellcheck + run: sudo apt-get install -y kcov shellcheck restic + + - name: Run tests + run: test/test.sh + + - name: Run coverage + run: kcov --include-pattern=backup.sh "$(pwd)"/coverage test/test.sh + + - name: Codecov + uses: codecov/codecov-action@v1.2.1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + file: ./coverage/test.sh/cov.xml + + - name: shellcheck + run: shellcheck backup.sh + + - name: Build the Docker image + run: | + echo ${{ secrets.CR_PAT }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin + docker build . --file Dockerfile --tag ghcr.io/nicolaschan/minecraft-backup:$GITHUB_SHA --tag ghcr.io/nicolaschan/minecraft-backup:latest + docker push ghcr.io/nicolaschan/minecraft-backup:$GITHUB_SHA + docker push ghcr.io/nicolaschan/minecraft-backup:latest