From 3be790e719a2d85f943101924d3dde06caa22add Mon Sep 17 00:00:00 2001 From: Evann Regnault Date: Sun, 28 May 2023 22:02:44 +0200 Subject: [PATCH] Create main.yml --- .github/workflows/main.yml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..4a891c6 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,36 @@ +name: Docker Build and Push with Version + +on: + push: + branches: + - main + +env: + DOCKER_REGISTRY: your.private.registry.com + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + +jobs: + build_and_push: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Install Rust and Cargo + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + export PATH="$HOME/.cargo/bin:$PATH" + + - name: Get App Version + id: version + run: cargo metadata --format-version 1 | jq -r '.packages[0].version' + + - name: Login to Docker registry + run: echo "${{ env.DOCKER_PASSWORD }}" | docker login -u "${{ env.DOCKER_USERNAME }}" --password-stdin "${{ env.DOCKER_REGISTRY }}" + + - name: Build and push Docker image + run: | + docker build --pull --cache-from "${{ env.DOCKER_REGISTRY }}/your-image:${{ steps.version.outputs.version }}" --tag "${{ env.DOCKER_REGISTRY }}/your-image:${{ steps.version.outputs.version }}" . + docker push "${{ env.DOCKER_REGISTRY }}/your-image:${{ steps.version.outputs.version }}"