mirror of
https://github.com/aljazceru/kata-containers.git
synced 2025-12-29 12:04:21 +01:00
Stable and candidate snapcraft's channels are used to release Kata Containers 1.x and 2.x respectively. Alpha and RC releases shouldn't be pushed to the snap store because there are not enough channels for all the releases of Kata Containers 1.x and 2.x. fixes #1303 Signed-off-by: Julio Montes <julio.montes@intel.com>
38 lines
1.4 KiB
YAML
38 lines
1.4 KiB
YAML
name: Release Kata 2.x in snapcraft store
|
|
on:
|
|
push:
|
|
tags:
|
|
- '2.*'
|
|
jobs:
|
|
release-snap:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Check out Git repository
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Install Snapcraft
|
|
uses: samuelmeuli/action-snapcraft@v1
|
|
with:
|
|
snapcraft_token: ${{ secrets.snapcraft_token }}
|
|
|
|
- name: Build snap
|
|
run: |
|
|
sudo apt-get install -y git git-extras
|
|
kata_url="https://github.com/kata-containers/kata-containers"
|
|
latest_version=$(git ls-remote --tags ${kata_url} | egrep -o "refs.*" | egrep -v "\-alpha|\-rc|{}" | egrep -o "[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+" | sort -V -r | head -1)
|
|
current_version="$(echo ${GITHUB_REF} | cut -d/ -f3)"
|
|
# Check semantic versioning format (x.y.z) and if the current tag is the latest tag
|
|
if echo "${current_version}" | grep -q "^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+$" && echo -e "$latest_version\n$current_version" | sort -C -V; then
|
|
# Current version is the latest version, build it
|
|
snapcraft -d snap --destructive-mode
|
|
fi
|
|
|
|
- name: Upload snap
|
|
run: |
|
|
snap_version="$(echo ${GITHUB_REF} | cut -d/ -f3)"
|
|
snap_file="kata-containers_${snap_version}_amd64.snap"
|
|
# Upload the snap if it exists
|
|
if [ -f ${snap_file} ]; then
|
|
snapcraft upload --release=candidate ${snap_file}
|
|
fi
|