kubeconform/.github/workflows/main.yml
2021-03-31 21:47:55 +02:00

95 lines
No EOL
2.1 KiB
YAML

name: ci
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: test
run: make docker-test
- name: build
run: make docker-build-static
- name: acceptance-test
run: make docker-acceptance
- name: build-image
run: make docker-image
- name: save image
run: make save-image
- name: archive image
uses: actions/upload-artifact@v2
with:
name: kubeconform-image
path: kubeconform-image.tar
publish-image-master:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
needs: test
steps:
- name: checkout
uses: actions/checkout@v2
- name: Download kubeconform image
uses: actions/download-artifact@v2
with:
name: kubeconform-image
- name: load image
run: docker load < kubeconform-image.tar
- name: push
run: |
echo "${{ github.token }}" | docker login https://ghcr.io -u ${GITHUB_ACTOR} --password-stdin
make push-image
env:
RELEASE_VERSION: master
publish-image-release:
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
needs: test
steps:
- name: checkout
uses: actions/checkout@v2
- name: Download kubeconform image
uses: actions/download-artifact@v2
with:
name: kubeconform-image
- name: load image
run: docker load < kubeconform-image.tar
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: push-tag
run: |
echo "${{ github.token }}" | docker login https://ghcr.io -u ${GITHUB_ACTOR} --password-stdin
make push-image
- name: push-latest
run: |
make push-image
env:
RELEASE_VERSION: latest
goreleaser:
runs-on: ubuntu-latest
needs: test
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: checkout
uses: actions/checkout@v2
- name: goreleaser
run: make release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}