Skip to content

Remove slack notification from release workflows. #195

Remove slack notification from release workflows.

Remove slack notification from release workflows. #195

Workflow file for this run

name: Releases
on:
push:
tags:
# These aren't regexps. They are "Workflow Filter patterns"
- v[0-9]+.[0-9]+.[0-9]
- v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+
- v[0-9]+.[0-9]+.[0-9]+-test.[0-9]+
jobs:
build-release:
strategy:
fail-fast: false
matrix:
runners:
- ubuntu-latest
- ubuntu-arm64
- macos-latest
- windows-2019
runs-on: ${{ matrix.runners }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ./.github/actions/install-dependencies
name: install dependencies
- name: set version
shell: bash
run: echo "TELEPRESENCE_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV
- name: generate binaries
run: make release-binary
- name: Upload binaries
uses: actions/upload-artifact@v3
with:
name: binaries
path: build-output/release
retention-days: 1
- name: generate binaries darwin-amd64 # macos-latest is arm64, so we need an extra amd64 build
if: runner.os == 'macOS'
env:
GOARCH: amd64
run: make clean release-binary
- name: Upload binaries darwin-amd64
if: runner.os == 'macOS'
uses: actions/upload-artifact@v3
with:
name: binaries
path: build-output/release
retention-days: 1
- if: runner.os == 'Linux' && runner.arch == 'X64'
uses: docker/setup-buildx-action@v3
with:
platforms: linux/amd64,linux/arm64
- if: runner.os == 'Linux' && runner.arch == 'X64'
name: Upload Docker image
run: |
docker login -u="${{ secrets.DOCKERHUB_USERNAME }}" -p="${{ secrets.DOCKERHUB_PASSWORD }}"
make push-images-x
publish-release:
runs-on: ubuntu-latest
needs: build-release
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
- name: Determine if version is RC, TEST, or GA
id: semver_check
run: |
if [[ "${{ github.ref_name }}" =~ ^v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+$ ]]; then
echo "MAKE_LATEST=false" >> $GITHUB_ENV
echo "DRAFT=false" >> $GITHUB_ENV
echo "PRERELEASE=true" >> $GITHUB_ENV
elif [[ "${{ github.ref_name }}" =~ ^v[0-9]+.[0-9]+.[0-9]+-test.[0-9]+$ ]]; then
echo "MAKE_LATEST=false" >> $GITHUB_ENV
echo "DRAFT=true" >> $GITHUB_ENV
echo "PRERELEASE=false" >> $GITHUB_ENV
else
echo "MAKE_LATEST=true" >> $GITHUB_ENV
echo "DRAFT=false" >> $GITHUB_ENV
echo "PRERELEASE=false" >> $GITHUB_ENV
fi
- name: Create release
uses: ncipollo/release-action@v1
with:
artifacts: "binaries/*"
token: ${{ secrets.GITHUB_TOKEN }}
prerelease: ${{ env.PRERELEASE }}
makeLatest: ${{ env.MAKE_LATEST }}
draft: ${{ env.DRAFT }}
tag: ${{ github.ref_name }}
body: |
## Official Release Artifacts
### Linux
- 📦 [telepresence-linux-amd64](https://app.getambassador.io/download/tel2oss/releases/download/${{ github.ref_name }}/telepresence-linux-amd64)
- 📦 [telepresence-linux-arm64](https://app.getambassador.io/download/tel2oss/releases/download/${{ github.ref_name }}/telepresence-linux-arm64)
### OSX Darwin
- 📦 [telepresence-darwin-amd64](https://app.getambassador.io/download/tel2oss/releases/download/${{ github.ref_name }}/telepresence-darwin-amd64)
- 📦 [telepresence-darwin-arm64](https://app.getambassador.io/download/tel2oss/releases/download/${{ github.ref_name }}/telepresence-darwin-arm64)
### Windows
- 📦 [telepresence-windows-amd64.zip](https://app.getambassador.io/download/tel2oss/releases/download/${{ github.ref_name }}/telepresence-windows-amd64.zip)
For more builds across platforms and architectures, see the `Assets` section below.
And for more information, visit our [installation docs](https://www.telepresence.io/docs/latest/quick-start/).
![Assets](https://static.scarf.sh/a.png?x-pxid=d842651a-2e4d-465a-98e1-4808722c01ab)
test-release:
needs: publish-release
strategy:
fail-fast: false
matrix:
runners:
- ubuntu-latest
- ubuntu-arm64
- macos-latest
- macOS-arm64
- windows-2019
runs-on: ${{ matrix.runners }}
steps:
- uses: actions/checkout@v4
- name: Test release
uses: ./.github/actions/test-release
with:
release_version: ${{ github.ref_name }}