Skip to content

WIP: publish kentik agent package #175

WIP: publish kentik agent package

WIP: publish kentik agent package #175

Workflow file for this run

name: build
on:
push:
branches: "*"
tags: "[0-9]+.[0-9]+.[0-9]+*"
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
target:
- x86_64-unknown-linux-musl
- aarch64-unknown-linux-musl
- armv7-unknown-linux-musleabihf
- x86_64-unknown-freebsd
continue-on-error: ${{ !startsWith(matrix.target, 'x86_64') }}
steps:
# - uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: stable
# target: ${{ matrix.target }}
# - uses: webfactory/[email protected]
# with:
# ssh-private-key: ${{ secrets.KENTIK_API_RUST_DEPLOY_KEY }}
# - uses: actions/checkout@v4
# with:
# fetch-depth: 0
# - run: |
# DOCKER_OPTS="-v $SSH_AUTH_SOCK:/ssh-agent -e SSH_AUTH_SOCK=/ssh-agent"
# echo DOCKER_OPTS="$DOCKER_OPTS" >> $GITHUB_ENV
# - uses: docker/build-push-action@v4
# with:
# context: .github/workflows
# file: .github/workflows/Dockerfile.${{ matrix.target }}
# tags: local/cross:${{ matrix.target }}
# push: false
# env:
# DOCKER_BUILDKIT: 1
# - uses: actions-rs/cargo@v1
# with:
# use-cross: true
# command: build
# args: --release --target ${{ matrix.target }}
- run: |
mkdir -p target/${{ matrix.target }}/release
touch target/${{ matrix.target }}/release/kprobe
- uses: actions/upload-artifact@v4
with:
name: kprobe-${{ matrix.target }}
path: target/${{ matrix.target }}/release/kprobe
needs: version
version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ./.github/actions/version
id: version
outputs:
version: ${{ steps.version.outputs.version }}
prerelease: ${{ steps.version.outputs.prerelease }}
publish: ${{ steps.version.outputs.publish }}
release: ${{ steps.version.outputs.release }}
bundle:
runs-on: ubuntu-latest
strategy:
matrix:
target:
- x86_64-unknown-linux-musl
- aarch64-unknown-linux-musl
- armv7-unknown-linux-musleabihf
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ./.github/actions/bundle
with:
binary: kprobe
name: kprobe
target: ${{ matrix.target }}
version: "v${{ needs.version.outputs.version }}"
- uses: ./.github/actions/bundle
with:
binary: kprobe
name: kprobe-ott
target: ${{ matrix.target }}
version: "v${{ needs.version.outputs.version }}"
if: ${{ contains(needs.version.outputs.publish, 'bundle') }}
needs: [build, version]
# package:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# format: [deb, rpm]
# target:
# - name: aarch64-unknown-linux-musl
# arch: aarch64
# - name: armv7-unknown-linux-musleabihf
# arch: armv7
# - name: x86_64-unknown-linux-musl
# arch: x86_64
# steps:
# - uses: actions/checkout@v4
# with:
# fetch-depth: 0
# - uses: ./.github/actions/package
# with:
# artifact: kprobe-${{ matrix.target.name }}
# version: ${{ needs.version.outputs.version }}
# arch: ${{ matrix.target.arch }}
# format: ${{ matrix.format }}
# if: ${{ contains(needs.version.outputs.publish, 'package') }}
# needs: [build, version]
publish-bundle:
runs-on: ubuntu-latest
strategy:
matrix:
bundle:
- kprobe
- kprobe-ott
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/download-artifact@v4
- run: ls -lR
- uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.KENTIK_MACHINERY_APP_ID }}
private-key: ${{ secrets.KENTIK_MACHINERY_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: packages
id: token
# - uses: ncipollo/release-action@v1
# with:
# token: ${{ steps.token.outputs.token }}
# repo: packages
# tag: "${{ matrix.bundle }}/v${{ needs.version.outputs.version }}"
# prerelease: ${{ needs.version.outputs.prerelease }}
# allowUpdates: false
# removeArtifacts: true
# artifacts: "${{ matrix.bundle }}_*.tgz/${{ matrix.bundle }}_*.tgz"
- run: |
echo want to create bundle ${{ matrix.bundle }}
echo with artifacts
ls -lt ${{ matrix.bundle }}_*.tgz/${{ matrix.bundle }}_*.tgz
if: ${{ contains(needs.version.outputs.publish, 'bundle') }}
needs: [bundle, version]
# publish-packages:
# runs-on: ubuntu-latest
# steps:
# - uses: ruby/setup-ruby@v1
# with:
# ruby-version: 2.7
# - uses: actions/download-artifact@v4
# with:
# path: packages
# - name: publish packages
# run: |
# ls -ltR packages
# gem install package_cloud
# case "${{ needs.version.outputs.prerelease }}" in
# true) REPO="${{ github.event.repository.name }}-dev" ;;
# false) REPO="${{ github.event.repository.name }}" ;;
# esac
# for deb in packages/*.deb/*.deb; do
# package_cloud push kentik/$REPO/debian/jessie $deb
# package_cloud push kentik/$REPO/debian/stretch $deb
# package_cloud push kentik/$REPO/debian/buster $deb
# package_cloud push kentik/$REPO/debian/bullseye $deb
# package_cloud push kentik/$REPO/ubuntu/focal $deb
# package_cloud push kentik/$REPO/ubuntu/bionic $deb
# package_cloud push kentik/$REPO/ubuntu/jammy $deb
# done
# for rpm in packages/*.rpm/*.rpm; do
# package_cloud push kentik/$REPO/el/7 $rpm
# package_cloud push kentik/$REPO/el/8 $rpm
# package_cloud push kentik/$REPO/el/9 $rpm
# done
# env:
# PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
# if ${{ contains(needs.version.outputs.publish, 'package') }}
# needs: [package, version]