Skip to content

Commit

Permalink
Merge pull request #164 from therealbobo/ci/gh-actions
Browse files Browse the repository at this point in the history
update(ci): move ci to GitHub Actions
  • Loading branch information
therealbobo committed Aug 4, 2023
2 parents ee3b8fa + 7afadb7 commit 77e4451
Show file tree
Hide file tree
Showing 4 changed files with 202 additions and 13 deletions.
86 changes: 86 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: CI Build
on: [push,pull_request,workflow_dispatch]

jobs:
build-settings:
runs-on: ubuntu-latest
outputs:
semver: ${{ steps.get_settings.outputs.semver }}
version: ${{ steps.get_settings.outputs.version }}
steps:
- name: Checkout Sysdig
uses: actions/checkout@v3
- name: Get settings for this release
id: get_settings
shell: python
run: |
import os
import json
ref_name = '${{ github.ref_name }}-${{ github.run_number }}'.replace('/','-')
with open("package.json","r") as f:
v = json.load(f)['version']
version = f'{v}-{ref_name}'
semver = f'{v}'
with open(os.environ['GITHUB_OUTPUT'], 'a') as ofp:
print(f'version={version}'.lower(), file=ofp)
print(f'semver={semver}'.lower(), file=ofp)
build-sysdig-inspect:
needs: [build-settings]
env:
BUILDER: "sysdiglabs/sysdig-inspect-builder:0.2"
SEMVER: ${{ needs.build-settings.outputs.semver }}
VERSION: ${{ needs.build-settings.outputs.version }}

runs-on: ubuntu-latest
container:
image: "sysdiglabs/sysdig-inspect-builder:0.2"
env:
INSTALL_DEPS: true
GIT_BRANCH: dev
SEMVER: ${{ needs.build-settings.outputs.semver }}
VERSION: ${{ needs.build-settings.outputs.version }}
BUILD_MAC: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
steps:
- name: Checkout Sysdig
uses: actions/checkout@v3
- name: install 7z
run: |
cd /tmp
sed -i '/^mozilla\/DST_Root_CA_X3/s/^/!/' /etc/ca-certificates.conf &&
update-ca-certificates -f &&
curl -L -o 7z.tar.xz https://www.7-zip.org/a/7z2301-linux-x64.tar.xz &&
tar -xaf 7z.tar.xz &&
mv 7zz /usr/bin/7z &&
rm -vfr /tmp/* &&
cd -
- name: Build sysdig-inspect
run: ./build/build.sh
- name: Upload artifacts rpm
uses: actions/upload-artifact@v3
with:
name: sysdig-inspect-${{ env.VERSION }}-linux-x86_64.rpm
path: |
out/linux/installers/sysdig-inspect-linux-x86_64.rpm
- name: Upload artifacts deb
uses: actions/upload-artifact@v3
with:
name: sysdig-inspect-${{ env.VERSION }}-linux-x86_64.deb
path: |
out/linux/installers/sysdig-inspect-linux-x86_64.deb
- name: Upload artifacts dmg
uses: actions/upload-artifact@v3
with:
name: sysdig-inspect-${{ env.VERSION }}-mac-x86_64.dmg
path: |
out/mac/binaries/sysdig-inspect-${{ env.SEMVER }}-mac-86_64.dmg
- name: Upload artifacts zip
uses: actions/upload-artifact@v3
with:
name: sysdig-inspect-${{ env.VERSION }}-mac-x86_64.zip
path: |
out/mac/binaries/sysdig-inspect-mac-x86_64.zip
95 changes: 95 additions & 0 deletions .github/workflows/release-draft.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Create sysdig-inspect draft/RC release
on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+-[a-z]+'
- '[0-9]+.[0-9]+.[0-9]+-[a-z]+[0-9]+'
permissions:
contents: write

jobs:
build-sysdig-inspect:
env:
BUILDER: "sysdiglabs/sysdig-inspect-builder:0.2"
VERSION: ${{ github.ref_name }}

runs-on: ubuntu-latest
container:
image: "sysdiglabs/sysdig-inspect-builder:0.2"
env:
INSTALL_DEPS: true
GIT_BRANCH: ${{ github.ref_name }}
VERSION: ${{ github.ref_name }}
BUILD_MAC: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
steps:
- name: Checkout Sysdig
uses: actions/checkout@v3
- name: install 7z
run: |
cd /tmp
sed -i '/^mozilla\/DST_Root_CA_X3/s/^/!/' /etc/ca-certificates.conf &&
update-ca-certificates -f &&
curl -L -o 7z.tar.xz https://www.7-zip.org/a/7z2301-linux-x64.tar.xz &&
tar -xaf 7z.tar.xz &&
mv 7zz /usr/bin/7z &&
rm -vfr /tmp/* &&
cd -
- name: Build sysdig-inspect
run: ./build/build.sh
- name: Upload artifacts rpm
uses: actions/upload-artifact@v3
with:
name: sysdig-inspect-release-${{ env.VERSION }}-linux-x86_64.rpm
path: |
out/linux/installers/sysdig-inspect-linux-x86_64.rpm
- name: Upload artifacts deb
uses: actions/upload-artifact@v3
with:
name: sysdig-inspect-release-${{ env.VERSION }}-linux-x86_64.deb
path: |
out/linux/installers/sysdig-inspect-linux-x86_64.deb
- name: Upload artifacts dmg
uses: actions/upload-artifact@v3
with:
name: sysdig-inspect-release-${{ env.VERSION }}-mac-x86_64.dmg
path: |
out/mac/binaries/sysdig-inspect-${{ env.VERSION }}-mac-x86_64.dmg
- name: Upload artifacts zip
uses: actions/upload-artifact@v3
with:
name: sysdig-inspect-release-${{ env.VERSION }}-mac-x86_64.zip
path: |
out/mac/binaries/sysdig-inspect-mac-x86_64.zip
create-draft-release:
runs-on: ubuntu-latest
needs: [build-sysdig-inspect]
env:
VERSION: ${{ github.ref_name }}
steps:
- name: Download artifacts (linux-amd64 deb)
uses: actions/download-artifact@v3
with:
name: sysdig-inspect-release-${{ env.VERSION }}-linux-x86_64.deb
- name: Download artifacts (linux-amd64 rpm)
uses: actions/download-artifact@v3
with:
name: sysdig-inspect-release-${{ env.VERSION }}-linux-x86_64.rpm
- name: Download artifacts (osx-amd64)
uses: actions/download-artifact@v3
with:
name: sysdig-inspect-release-${{ env.VERSION }}-mac-x86_64.zip
- name: test
run: ls -lah /home/runner/work/sysdig-inspect/sysdig-inspect/
- name: Create draft release
uses: softprops/action-gh-release@v1
with:
files: |
sysdig-inspect-linux*
sysdig-inspect-mac*
sysdig-inspect-win*
draft: true
generate_release_notes: true
1 change: 0 additions & 1 deletion VERSION

This file was deleted.

33 changes: 21 additions & 12 deletions build/build.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

SYSDIG_VERSION="0.27.1"
SYSDIG_VERSION_MAC="0.27.0"
SYSDIG_VERSION="0.32.1"
SYSDIG_VERSION_MAC="0.32.1"

# Env parameters
# - CLEANUP (default: true)
Expand Down Expand Up @@ -61,22 +61,24 @@ setup_env() {
fi
if [ -z ${BUILD_NUMBER} ]
then
BUILD_NUMBER=42
BUILD_NUMBER=''
else
BUILD_NUMBER=.${BUILD_NUMBER}
fi

set -u

GIT_BRANCHNAME=$(echo ${GIT_BRANCH} | cut -d"/" -f2)

if [ "${GIT_BRANCHNAME}" = "master" ]; then
if [ "${GIT_BRANCHNAME}" != "dev" ]; then
ENVIRONMENT=production
fi

INSPECT_USER_VERSION=`cat VERSION`
if [ "${ENVIRONMENT}" = "production" ]; then
INSPECT_VERSION=${INSPECT_USER_VERSION}
INSPECT_USER_VERSION=$(grep '"version"' package.json | cut -d\" -f4)
if [[ "${ENVIRONMENT}" = "production" ]]; then
INSPECT_VERSION=${GIT_BRANCHNAME}
else
INSPECT_VERSION=${INSPECT_USER_VERSION}.${BUILD_NUMBER}
INSPECT_VERSION=${INSPECT_USER_VERSION}${BUILD_NUMBER}
fi

# Disabling interactive progress bar, and spinners gains 2x performances
Expand Down Expand Up @@ -118,8 +120,11 @@ install_dependencies() {

mkdir -p deps/sysdig-mac

curl https://download.sysdig.com/dependencies/sysdig-${SYSDIG_VERSION_MAC}-mac.zip -o sysdig.zip
unzip -d deps/sysdig-mac sysdig.zip
curl -L -o sysdig.dmg "https://github.com/draios/sysdig/releases/download/${SYSDIG_VERSION_MAC}/sysdig-${SYSDIG_VERSION_MAC}-x86_64.dmg"
7z x sysdig.dmg || true
cp -v sysdig-${SYSDIG_VERSION_MAC}-x86_64/bin/sysdig deps/sysdig-mac/
cp -v sysdig-${SYSDIG_VERSION_MAC}-x86_64/bin/csysdig deps/sysdig-mac/
cp -vr sysdig-${SYSDIG_VERSION_MAC}-x86_64/share/sysdig/chisels deps/sysdig-mac/
fi
fi
}
Expand Down Expand Up @@ -147,6 +152,10 @@ build() {
mkdir -p out/linux/installers
cp -r electron-out/make/* out/linux/installers
cp -r electron-out/Sysdig\ Inspect-linux-x64/* out/linux/binaries
cd out/linux/installers
mv *.rpm sysdig-inspect-linux-x86_64.rpm
mv *.deb sysdig-inspect-linux-x86_64.deb
cd -
fi

if [ "${BUILD_CONTAINER}" = "true" ]; then
Expand Down Expand Up @@ -196,10 +205,10 @@ build() {
zip -ry Sysdig\ Inspect-darwin-x64.zip Sysdig\ Inspect-darwin-x64
cd ..
mkdir -p out/mac/binaries
cp electron-out/Sysdig\ Inspect-darwin-x64.zip out/mac/binaries/sysdig-inspect-${INSPECT_VERSION}-mac.zip
cp electron-out/Sysdig\ Inspect-darwin-x64.zip out/mac/binaries/sysdig-inspect-mac-x86_64.zip
if [ "${BUILD_MAC_INSTALLER}" = "true" ]; then
mkdir -p out/mac/installers
cp electron-out/make/Sysdig\ Inspect-${INSPECT_USER_VERSION}.dmg out/mac/installers/sysdig-inspect-${INSPECT_VERSION}-mac.dmg
cp electron-out/make/Sysdig\ Inspect-${INSPECT_USER_VERSION}.dmg out/mac/installers/sysdig-inspect-mac-x86_64.dmg
fi
fi
}
Expand Down

0 comments on commit 77e4451

Please sign in to comment.