From 13e0775d5684634f0cc0d6315aa0c998861e400d Mon Sep 17 00:00:00 2001 From: ViViDboarder Date: Sun, 13 Jun 2021 18:30:23 -0700 Subject: [PATCH] Add GitHub Actions Using GHA for builds rather than Docker Hub --- .github/workflows/cargo.yml | 28 ++++++++++++++++++ .github/workflows/docker.yml | 56 ++++++++++++++++++++++++++++++++++++ Makefile | 3 ++ 3 files changed, 87 insertions(+) create mode 100644 .github/workflows/cargo.yml create mode 100644 .github/workflows/docker.yml diff --git a/.github/workflows/cargo.yml b/.github/workflows/cargo.yml new file mode 100644 index 0000000..ee8d86d --- /dev/null +++ b/.github/workflows/cargo.yml @@ -0,0 +1,28 @@ +--- +name: Tests + +"on": + push: + branches: [master] + pull_request: + branches: [master] + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose + + - uses: actions/setup-python@v2 + - name: Run pre-commit hooks + uses: pre-commit/action@v2.0.2 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..897cc3d --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,56 @@ +--- +name: Docker + +"on": + push: + branches: + - master + tags: + - 'v*' + pull_request: + branches: + - master + +jobs: + docker: + strategy: + matrix: + include: + - dockerfile: Dockerfile + latest: "auto" + suffix: "" + - dockerfile: Dockerfile.alpine + latest: "false" + suffix: "-alpine" + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Docker meta + id: meta + uses: docker/metadata-action@v3 + with: + images: name/app + flavor: | + latest=${{ matrix.latest }} + suffix=${{ matrix.suffix }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + file: ${{ matrix.dockerfile }} + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/Makefile b/Makefile index 87bbab0..956db67 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,9 @@ target/debug/vaultwarden_ldap: src/ target/release/vaultwarden_ldap: src/ cargo build --locked --release +.PHONY: build +build: debug + .PHONY: debug debug: target/debug/vaultwarden_ldap