-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build & release arm64 #42
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# Copyright 2024 Canonical Ltd. | ||
# See LICENSE file for licensing details. | ||
name: Release to GHCR | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
on: | ||
push: | ||
branches: | ||
- 8.0-22.04 | ||
workflow_dispatch: | ||
|
||
jobs: | ||
build: | ||
name: Build rock | ||
uses: canonical/data-platform-workflows/.github/workflows/build_rock.yaml@v16 | ||
|
||
release: | ||
name: Release rock | ||
needs: | ||
- build | ||
uses: canonical/data-platform-workflows/.github/workflows/release_rock.yaml@v16 | ||
with: | ||
artifact-prefix: ${{ needs.build.outputs.artifact-prefix }} | ||
permissions: | ||
packages: write # Needed to publish to GitHub Container Registry | ||
|
||
sbom: | ||
name: Generate Software Bill of Materials | ||
needs: | ||
- build | ||
# Run after release so that rock cannot be (maliciously) modified between build & release | ||
- release | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 5 | ||
steps: | ||
- name: Install Syft | ||
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin | ||
- name: Download rock package(s) | ||
uses: actions/download-artifact@v4 | ||
with: | ||
pattern: ${{ needs.build.outputs.artifact-prefix }}-* | ||
merge-multiple: true | ||
- name: Generate SBOM(s) | ||
shell: python | ||
run: | | ||
import pathlib | ||
import subprocess | ||
|
||
for rock_file in pathlib.Path(".").glob("*.rock"): | ||
subprocess.run( | ||
["syft", rock_file.name, "--output", f"spdx-json={rock_file.name}.spdx.json"], | ||
check=True, | ||
) | ||
- name: Upload SBOM(s) | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: sbom-${{ needs.build.outputs.artifact-prefix }} | ||
path: '*.spdx.json' | ||
if-no-files-found: error |
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,16 @@ | ||
name: charmed-mysql # the name of your ROCK | ||
base: [email protected] # the base environment for this ROCK | ||
version: '8.0.37' # just for humans. Semantic versioning is recommended | ||
summary: Charmed MySQL ROCK OCI # 79 char long summary | ||
name: charmed-mysql | ||
base: [email protected] | ||
version: '8.0.37' | ||
summary: Charmed MySQL ROCK OCI | ||
description: | | ||
MySQL built from the official MySQL package | ||
from the MySQL repository and installs | ||
mysql-shell. For more information on ROCKs, visit | ||
the https://github.com/canonical/rockcraft. | ||
license: Apache-2.0 # your application's SPDX license | ||
platforms: # The platforms this ROCK should be built on and run on | ||
license: Apache-2.0 | ||
platforms: | ||
amd64: | ||
arm64: | ||
|
||
parts: | ||
charmed-mysql: | ||
|
@@ -32,30 +33,6 @@ parts: | |
- python3-yaml | ||
stage-snaps: | ||
- charmed-mysql/8.0/edge | ||
override-stage: | | ||
LIB_DIR=$CRAFT_STAGE/usr/lib/x86_64-linux-gnu | ||
craftctl default | ||
mkdir -p $CRAFT_STAGE/var/lib/mysql | ||
ln -sf $LIB_DIR/libnuma.so.1 \ | ||
/usr/lib/x86_64-linux-gnu/libnuma.so.1 | ||
ln -sf $LIB_DIR/libaio.so.1 \ | ||
/usr/lib/x86_64-linux-gnu/libaio.so.1 | ||
ln -sf $LIB_DIR/libicuuc.so.70 \ | ||
/usr/lib/x86_64-linux-gnu/libicuuc.so.70 | ||
ln -sf $LIB_DIR/libicui18n.so.70 \ | ||
/usr/lib/x86_64-linux-gnu/libicui18n.so.70 | ||
ln -sf $LIB_DIR/libevent_core-2.1.so.7 \ | ||
/usr/lib/x86_64-linux-gnu/libevent_core-2.1.so.7 | ||
ln -sf $LIB_DIR/libevent_pthreads-2.1.so.7 \ | ||
/usr/lib/x86_64-linux-gnu/libevent_pthreads-2.1.so.7 | ||
ln -sf $LIB_DIR/libprotobuf-lite.so.23 \ | ||
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.23 | ||
ln -sf $LIB_DIR/libicudata.so.70 \ | ||
/usr/lib/x86_64-linux-gnu/libicudata.so.70 | ||
rm -rf /var/lib/mysql/ | ||
mysqld --initialize | ||
cp -r /var/lib/mysql $CRAFT_STAGE/var/lib | ||
chown 584788:584788 $CRAFT_STAGE/var/lib/mysql | ||
Comment on lines
-35
to
-58
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I inspected the rock we're currently building (i.e. ghcr.io/canonical/charmed-mysql:8.0.37-22.04_edge), and it looks like it doesn't contain
so I think the entire |
||
override-prime: | | ||
craftctl default | ||
mv -f $CRAFT_PRIME/etc/mysql/mysql.cnf $CRAFT_PRIME/etc/mysql/my.cnf | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good ol shell?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it'll probably move to reusable workflows at some point
to keep consistent with postgres repo, not changing for now