name: docker on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Install Docker Buildx uses: docker/setup-buildx-action@v2 - name: Build image run: > docker buildx build --file DiscordChatExporter.Cli.dockerfile --platform linux/amd64,linux/arm64 --load . deploy-latest: if: ${{ github.event_name == 'push' && github.ref_type == 'branch' && github.ref_name == 'master' }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Install Docker Buildx uses: docker/setup-buildx-action@v2 - name: Build image run: > docker buildx build --file DiscordChatExporter.Cli.dockerfile --platform linux/amd64,linux/arm64 --push --tag tyrrrz/discordchatexporter:latest . - name: Login to DockerHub run: docker login -u tyrrrz -p ${{ secrets.DOCKER_TOKEN }} - name: Push image run: ocker push tyrrrz/discordchatexporter --all-tags deploy-stable: if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Get release version id: get-version uses: tyrrrz/action-get-tag@v1 - name: Install Docker Buildx uses: docker/setup-buildx-action@v2 - name: Build image run: > docker buildx build --file DiscordChatExporter.Cli.dockerfile --platform linux/amd64,linux/arm64 --push --tag tyrrrz/discordchatexporter:stable --tag tyrrrz/discordchatexporter:${{ steps.get-version.outputs.tag }} . - name: Login to DockerHub run: docker login -u tyrrrz -p ${{ secrets.DOCKER_TOKEN }} - name: Push image run: docker push tyrrrz/discordchatexporter --all-tags