-
Notifications
You must be signed in to change notification settings - Fork 96
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
107 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
name: Build and Publish DEB Package ARM | ||
|
||
on: | ||
push: | ||
|
||
jobs: | ||
publish_apisix: | ||
name: Build and Publish deb Package | ||
runs-on: buildjet-2vcpu-ubuntu-2204-arm | ||
timeout-minutes: 60 | ||
env: | ||
VAR_DEB_WORKBENCH_DIR: /tmp/output | ||
VAR_COS_BUCKET_REPO: ${{ secrets.VAR_COS_BUCKET_REPO }} | ||
VAR_COS_BUCKET_CI: ${{ secrets.VAR_COS_BUCKET_CI }} | ||
VAR_OS: debian | ||
VAR_CODENAME: bullseye | ||
VAR_OS_RELEASE: bullseye-slim | ||
ARCH: arm64 | ||
|
||
steps: | ||
- name: Check out code | ||
uses: actions/[email protected] | ||
with: | ||
submodules: recursive | ||
|
||
- name: Init basic publish env | ||
run: | | ||
sudo apt-get update | ||
mkdir -p "${VAR_DEB_WORKBENCH_DIR}" | ||
- name: Extract Tags version | ||
shell: bash | ||
run: | | ||
echo "TAG_VERSION=3.8.0" >> "$GITHUB_ENV" | ||
- name: Extract Tags Type | ||
shell: bash | ||
run: | | ||
echo "TAG_TYPE=apisix" >> "$GITHUB_ENV" | ||
- name: Check Tags Type | ||
if: ${{ env.TAG_TYPE != 'apisix' && env.TAG_TYPE != 'apisix-base' }} | ||
run: | | ||
echo "##[error]Tag type is not correct, or not support, please check it." | ||
exit 1 | ||
- name: Build apisix-base deb Package | ||
if: ${{ env.TAG_TYPE == 'apisix-base' }} | ||
run: | | ||
make package type=deb app=${TAG_TYPE} checkout=${TAG_VERSION} version=${TAG_VERSION} image_base=${VAR_OS} image_tag=${VAR_OS_RELEASE} openresty=apisix-base | ||
mv ./output/${TAG_TYPE}_${TAG_VERSION}-0~${VAR_OS}${VAR_OS_RELEASE}_${ARCH}.deb ${VAR_DEB_WORKBENCH_DIR} | ||
- name: Build apisix deb Package | ||
if: ${{ env.TAG_TYPE == 'apisix' }} | ||
run: | | ||
wget https://raw.githubusercontent.com/apache/apisix/${TAG_VERSION}/.requirements && source .requirements | ||
make package type=deb app=${TAG_TYPE} checkout=${TAG_VERSION} version=${TAG_VERSION} image_base=${VAR_OS} image_tag=${VAR_OS_RELEASE} openresty=apisix-runtime runtime_version=${APISIX_RUNTIME} | ||
mv ./output/${TAG_TYPE}_${TAG_VERSION}-0~${VAR_OS}${VAR_OS_RELEASE}_${ARCH}.deb ${VAR_DEB_WORKBENCH_DIR} | ||
- name: Build apisix-runtime deb Package | ||
if: ${{ env.TAG_TYPE == 'apisix-runtime' }} | ||
run: | | ||
echo build ${TAG_TYPE} deb package | ||
echo version ${TAG_VERSION} | ||
make package type=deb app=${TAG_TYPE} checkout=${TAG_VERSION} version=${TAG_VERSION} image_base=${VAR_OS} image_tag=${VAR_OS_RELEASE} openresty=apisix-runtime | ||
mv ./output/${TAG_TYPE}_${TAG_VERSION}-0~${VAR_OS}${VAR_OS_RELEASE}_${ARCH}.deb ${VAR_DEB_WORKBENCH_DIR} | ||
- name: Upload apisix/apisix-runtime/apisix-base Artifact | ||
uses: actions/[email protected] | ||
with: | ||
name: "${{ env.TAG_TYPE }}_${{ env.TAG_VERSION }}-0~${{ env.VAR_OS }}${{ env.VAR_OS_RELEASE }}_${{ env.ARCH }}.deb" | ||
path: "${{ env.VAR_DEB_WORKBENCH_DIR }}/${{ env.TAG_TYPE}}_${{ env.TAG_VERSION }}-0~${{ env.VAR_OS }}${{ env.VAR_OS_RELEASE }}_${{ env.ARCH }}.deb" | ||
|
||
- name: DEB repo deps init | ||
env: | ||
TENCENT_COS_SECRETID: ${{ secrets.TENCENT_COS_SECRETID }} | ||
TENCENT_COS_SECRETKEY: ${{ secrets.TENCENT_COS_SECRETKEY }} | ||
run: | | ||
sudo pip install coscmd | ||
sudo -E ./utils/publish-deb.sh init_cos_utils | ||
- name: DEB repo init for debian | ||
run: | | ||
sudo -E ./utils/publish-deb.sh repo_clone | ||
- name: DEB repo package update | ||
env: | ||
DEB_GPG_MAIL: ${{ secrets.DEB_GPG_MAIL }} | ||
GPG_NAME: ${{ secrets.GPG_NAME }} | ||
GPG_MAIL: ${{ secrets.GPG_MAIL }} | ||
run: | | ||
echo "${{ secrets.DEB_GPG_PRIV_KEY }}" >> /tmp/deb-gpg-publish.private | ||
echo "${{ secrets.DEB_GPG_PASSPHRASE }}" >> /tmp/deb-gpg-publish.passphrase | ||
sudo -E ./utils/publish-deb.sh init_freight_utils | ||
sudo -E ./utils/publish-deb.sh init_gpg | ||
- name: DEB repo backup for debian | ||
run: | | ||
sudo -E ./utils/publish-deb.sh dists_backup | ||
- name: DEB repo refresh for debian | ||
run: | | ||
sudo -E ./utils/publish-deb.sh repo_rebuild | ||
sudo -E ./utils/publish-deb.sh repo_ci_upload | ||