Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 46 additions & 23 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,15 @@ jobs:
- uses: actions/checkout@v2
- name: Setup Kustomize
uses: fluxcd/pkg/actions/kustomize@master
- name: Get version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
- name: Generate release asset
- name: Prepare
id: prep
run: |
mkdir -p config/release
cp config/default/* config/release
cd config/release
kustomize edit set image fluxcd/source-controller=fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
kustomize build . > source-controller.yaml
VERSION=sha-${GITHUB_SHA::8}
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF/refs\/tags\//}
fi
echo ::set-output name=BUILD_DATE::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
echo ::set-output name=VERSION::${VERSION}
- name: Setup QEMU
uses: docker/setup-qemu-action@v1
with:
Expand All @@ -41,35 +40,58 @@ jobs:
with:
username: fluxcdbot
password: ${{ secrets.DOCKER_FLUXCD_PASSWORD }}
- name: Publish amd64 image
- name: Publish AMD64 image
uses: docker/build-push-action@v2
with:
push: ${{ github.event_name != 'pull_request' }}
push: true
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./Dockerfile
platforms: linux/amd64
tags: |
ghcr.io/fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
docker.io/fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
- name: Publish arm64 image
ghcr.io/fluxcd/source-controller:${{ steps.prep.outputs.VERSION }}
docker.io/fluxcd/source-controller:${{ steps.prep.outputs.VERSION }}
labels: |
org.opencontainers.image.title=${{ github.event.repository.name }}
org.opencontainers.image.description=${{ github.event.repository.description }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.version=${{ steps.prep.outputs.VERSION }}
org.opencontainers.image.created=${{ steps.prep.outputs.BUILD_DATE }}
- name: Publish ARM image
uses: docker/build-push-action@v2
with:
push: ${{ github.event_name != 'pull_request' }}
push: true
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./Dockerfile
platforms: linux/arm64
tags: ghcr.io/fluxcd/source-controller-arm64:${{ steps.get_version.outputs.VERSION }}
platforms: linux/arm/v7,linux/arm64
tags: |
ghcr.io/fluxcd/source-controller-arm64:${{ steps.prep.outputs.VERSION }}
labels: |
org.opencontainers.image.title=${{ github.event.repository.name }}
org.opencontainers.image.description=${{ github.event.repository.description }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.version=${{ steps.prep.outputs.VERSION }}
org.opencontainers.image.created=${{ steps.prep.outputs.BUILD_DATE }}
- name: Check images
run: |
docker buildx imagetools inspect docker.io/fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
docker buildx imagetools inspect ghcr.io/fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
docker buildx imagetools inspect ghcr.io/fluxcd/source-controller-arm64:${{ steps.get_version.outputs.VERSION }}
docker pull docker.io/fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
docker pull ghcr.io/fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
docker pull ghcr.io/fluxcd/source-controller-arm64:${{ steps.get_version.outputs.VERSION }}
docker buildx imagetools inspect docker.io/fluxcd/source-controller:${{ steps.prep.outputs.VERSION }}
docker buildx imagetools inspect ghcr.io/fluxcd/source-controller:${{ steps.prep.outputs.VERSION }}
docker buildx imagetools inspect ghcr.io/fluxcd/source-controller-arm64:${{ steps.prep.outputs.VERSION }}
docker pull docker.io/fluxcd/source-controller:${{ steps.prep.outputs.VERSION }}
docker pull ghcr.io/fluxcd/source-controller:${{ steps.prep.outputs.VERSION }}
- name: Generate release asset
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
run: |
mkdir -p config/release
cp config/default/* config/release
cd config/release
kustomize edit set image fluxcd/source-controller=fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
kustomize build . > source-controller.yaml
- name: Create release
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
id: create_release
uses: actions/create-release@latest
env:
Expand All @@ -82,6 +104,7 @@ jobs:
body: |
[CHANGELOG](https://github.com/fluxcd/source-controller/blob/master/CHANGELOG.md)
- name: Upload artifacts
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
Expand Down