name: release on: push: tags: - 'v*' jobs: build-push: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Kustomize uses: ./.github/actions/kustomize - name: Get version id: get_version run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} - name: Generate release asset 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: Push image uses: docker/build-push-action@v1 with: username: ${{ secrets.DOCKER_FLUXCD_USER }} password: ${{ secrets.DOCKER_FLUXCD_PASSWORD }} repository: fluxcd/source-controller tag_with_ref: true - name: Create release id: create_release uses: actions/create-release@latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} draft: false prerelease: true body: | [CHANGELOG](https://github.com/fluxcd/source-controller/blob/master/CHANGELOG.md) - name: Upload artifacts id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./config/release/source-controller.yaml asset_name: source-controller.yaml asset_content_type: text/plain