chore: unify dependabot configs across our repos #50
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- v[0-9]+.[0-9]+.[0-9]+** | |
pull_request: | |
permissions: | |
contents: write | |
id-token: write | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21.8 | |
- run: make test | |
build: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21.8 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.3 | |
- name: Install FPM and dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install rpm | |
gem install fpm | |
- name: Install go-bindata | |
run: go install github.com/go-bindata/go-bindata/...@latest | |
- run: make LINUX_PACKAGE_GOARCH=amd64 build-linux | |
- run: make LINUX_PACKAGE_GOARCH=arm64 build-linux | |
- run: make build-win | |
- run: make build-darwin | |
- run: make build-bsd | |
- name: Make packages | |
run: make packages | |
- name: Build Docker image | |
run: | | |
make docker | |
docker save -o build/carbon-relay-ng.tar grafana/carbon-relay-ng | |
- name: Store version | |
run: git describe --tags --always | sed 's/^v//' > build/version.txt | |
- name: Upload package artifacts | |
if: github.event_name == 'push' | |
uses: actions/upload-artifact@v4 | |
with: | |
include-hidden-files: true | |
name: package-artifacts | |
path: build | |
# Release, runs on tags only | |
deploy: | |
needs: build | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download package artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: package-artifacts | |
path: build | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.3 | |
- name: Install package_cloud | |
run: gem install package_cloud | |
- name: Set PACKAGECLOUD_TOKEN | |
uses: grafana/shared-workflows/actions/get-vault-secrets@main | |
with: | |
repo_secrets: | | |
PACKAGECLOUD_TOKEN=packagecloud:token | |
- name: Push packages | |
run: | | |
version=$(cat build/version.txt) | |
repo=raintank/raintank | |
[[ ! "$version" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] && repo=raintank/testing | |
package_cloud push $repo/ubuntu/trusty build/deb-upstart/carbon-relay-ng-*.deb | |
package_cloud push $repo/ubuntu/xenial build/deb-systemd/carbon-relay-ng-*.deb | |
package_cloud push $repo/debian/jessie build/deb-systemd/carbon-relay-ng-*.deb | |
package_cloud push $repo/debian/stretch build/deb-systemd/carbon-relay-ng-*.deb | |
package_cloud push $repo/debian/buster build/deb-systemd/carbon-relay-ng-*.deb | |
package_cloud push $repo/el/6 build/centos-6/carbon-relay-ng-*.el6.*.rpm | |
package_cloud push $repo/el/7 build/centos-7/carbon-relay-ng-*.el7.*.rpm | |
- name: Load Docker image | |
run: docker load -i build/carbon-relay-ng.tar | |
- name: Login to DockerHub | |
uses: grafana/shared-workflows/actions/dockerhub-login@main | |
- name: Push Docker image | |
run: | | |
version=$(cat build/version.txt) | |
docker push grafana/carbon-relay-ng:$version | |
# only versions without a hyphen - e.g. actual releases - are tagged as latest. | |
# in-between-release versions are tagged as master. | |
tag=latest | |
[[ ! "$version" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] && tag=master | |
docker push grafana/carbon-relay-ng:$tag | |
github_binaries: | |
if: github.ref_type == 'tag' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21.8 | |
- name: Run goreleaser | |
run: curl -sfL https://goreleaser.com/static/run | bash | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |