blob: cd14344074b909ce428b219343b4238343e19a18 (
plain) (
tree)
|
|
name: Build and push docker image
on:
pull_request:
push:
branches:
- 'master'
tags:
- '*'
env:
TEST_TAG: fretlink/link
jobs:
docker:
runs-on: ubuntu-latest
strategy:
matrix:
base_os:
- debian
- alpine
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and export to Docker
uses: docker/build-push-action@v2
with:
context: .
file: ${{ matrix.base_os }}/Dockerfile
load: true
tags: ${{ env.TEST_TAG }}
- name: Test
run: |
docker run --rm ${{ env.TEST_TAG }} 'nix-channel --list'
docker run --rm ${{ env.TEST_TAG }} 'nix-env -iA nixpkgs.hello && test "$(hello)" = "Hello, world!"'
- name: Get the version
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
- name: Login to DockerHub
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
context: .
file: ${{ matrix.base_os }}/Dockerfile
tags: fretlink/nix:${{ steps.get_version.outputs.VERSION }}-${{ matrix.base_os }}
|