-
Notifications
You must be signed in to change notification settings - Fork 0
139 lines (121 loc) · 4.44 KB
/
build_deb_package.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
name: Package OVIS-LDMS SlingShot Switch Sampler for Debian ARM64
on:
push:
branches: [ "debian", "tidy" ]
pull_request:
branches: [ "debian" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
print_tags:
description: 'True to print to STDOUT'
required: true
type: boolean
tags:
description: 'Test scenario tags'
required: true
type: string
environment:
description: 'Environment to run tests against'
type: environment
required: true
jobs:
build:
runs-on: ubuntu-20.04
env:
DOCKER_REGISTRY: docker.io
DOCKER_IMAGE: jkgreen76/ldms-slingshot-switch-sampler
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
GPG_USERNAME: ${{ secrets.GPG_USERNAME }}
GPG_EMAIL: ${{ secrets.GPG_EMAIL }}
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
DOCKER_TARGET_PLATFORM: 'linux/arm64'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: 'linux/arm64'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: latest
- name: Prepare
if: success()
id: prepare
run: |
echo "docker_image=${DOCKER_REGISTRY}/${DOCKER_IMAGE}" >> "$GITHUB_OUTPUT"
echo "buildx_version=${GITHUB_RUN_NUMBER}" >> "$GITHUB_OUTPUT"
echo "docker_platform=${DOCKER_TARGET_PLATFORM}" >> "$GITHUB_OUTPUT"
echo ":white_check_mark: Prepare Step Successful" >> $GITHUB_STEP_SUMMARY
- name: Docker Login
if: success()
run: |
echo "${DOCKER_PASSWORD}" | docker login ${DOCKER_REGISTRY} --username "${DOCKER_USERNAME}" --password-stdin
echo ":white_check_mark: Docker Login Successful" >> $GITHUB_STEP_SUMMARY
- name: Build Debian Package
if: success()
run: |
docker buildx build \
--platform ${{ steps.prepare.outputs.docker_platform }} \
--tag ${{ steps.prepare.outputs.docker_image }} \
--provenance false \
--sbom false \
--file ./Dockerfile \
--output "type=image,push=true" .
echo ":white_check_mark: ovis-ldms_4.4.3-1_arm.deb created!" >> $GITHUB_STEP_SUMMARY
- name: Stage artifacts to bindmount
if: success()
run: |
mkdir -p ldms-slingshot-switch-sampler
sudo chmod -R 777 $(pwd)/ldms-slingshot-switch-sampler
docker run -i \
-v $(pwd)/ldms-slingshot-switch-sampler:/ldms-slingshot-switch-sampler:rw ${DOCKER_IMAGE} \
cp -Rf /ovis-ldms-debian-package/ovis-ldms_4.4.3-1_arm64.deb /ldms-slingshot-switch-sampler/.
echo ":white_check_mark: Artifacts staged to bindmount" >> $GITHUB_STEP_SUMMARY
- name: list directory contents of ldms-slingshot-switch-sampler
if: success()
run: |
ls -al ldms-slingshot-switch-sampler
# - name: Build Test Server
# if: success()
# run: |
# docker buildx build \
# --platform ${{ steps.prepare.outputs.docker_platform }} \
# --tag arm64-ubuntu-apt-webserver \
# --provenance false \
# --sbom false \
# --file ./test-apt-server/Dockerfile \
# --output "type=image,push=true" .
# echo ":white_check_mark: ### ubuntu-arm64-apt-webserver created!" >> $GITHUB_STEP_SUMMARY
# - name: Start Webserver
# if: success()
# users: hoverkraft-tech/compose-action@v2.0.1
# command -v python3 || apt-get update && apt-get install -y python3
# mkdir /www
# cp -Rf /ovis-ldms/apt-repo /www/apt-repo
# python3 -m "http.server"
# - name: Test APT repo
- name: Upload artifact
if: success()
uses: actions/upload-pages-artifact@v3.0.1
with:
name: ldms-slingshot-switch-sampler
path: ldms-slingshot-switch-sampler
- name: Artifact Upload
if: success()
run: |
echo "### ovis-ldms_4.4.3-1_arm.deb artifact uploaded! :rocket:" >> $GITHUB_STEP_SUMMARY