Skip to content

build-release.yml: Show how this was built with the exact commands. (2) #48

build-release.yml: Show how this was built with the exact commands. (2)

build-release.yml: Show how this was built with the exact commands. (2) #48

Workflow file for this run

name: release-zimbra
on:
push:
tags:
- builds-dev/*
jobs:
zimbra-release:
strategy:
matrix:
TARGET_DISTRO: [ "ubuntu-20.04" ]
runs-on: ubuntu-latest
environment: git_clone
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Split branch name
env:
BRANCH: ${{ github.ref_name }}
id: split-tag
run: echo "version=${BRANCH##*/}" >> $GITHUB_OUTPUT
- name: Prepare .ssh directory
run: |
echo "version=${BRANCH##*/}" >> $GITHUB_OUTPUT
mkdir ${{ github.workspace }}/.ssh
chmod 700 ${{ github.workspace }}/.ssh
echo "${{ secrets.read_only_ssh_key }}" > ${{ github.workspace }}/.ssh/id_rsa
chmod 600 ${{ github.workspace }}/.ssh/id_rsa
- name: Get runner uid
id: runner
run: |
echo "uid=$(id -u)" >> $GITHUB_OUTPUT
echo "gid=$(id -g)" >> $GITHUB_OUTPUT
- name: Run the build process with Docker
uses: addnab/docker-run-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
image: ghcr.io/maldua/zimbra-foss-builder:latest
options: -v ${{ github.workspace }}:/usr/local/zimbra-foss-builder:ro -v ${{ github.workspace }}/BUILDS:/home/build/installer-build/BUILDS:rw -v ${{ github.workspace }}/.ssh:/root/.ssh:rw
shell: bash
run: |
chown root:root /root/.ssh/
chown root:root /root/.ssh/id_rsa
touch /root/.ssh/known_hosts
ssh-keyscan github.com >> /root/.ssh/known_hosts
cd /home/build
/usr/local/zimbra-foss-builder/zimbra-smart-builder.sh ${{ steps.split-tag.outputs.version }}
chown -R ${{ steps.runner.outputs.uid }}:${{ steps.runner.outputs.gid }} /home/build/installer-build/BUILDS/*
- run: ls -la ${{ github.workspace }}/BUILDS/
- name: Get tgz release filename
id: tgz-release
run: |
RELEASE_DIR=$(find ${{ github.workspace }}/BUILDS -name 'UBUNTU20_64*' -type d)
RELEASE_TGZ=$(find "${RELEASE_DIR}" -name "zcs-*.tgz" -type f)
RELEASE_SHORT_TGZ=$(basename ${RELEASE_TGZ})
echo "directory=${RELEASE_DIR}" >> $GITHUB_OUTPUT
echo "filename=${RELEASE_TGZ}" >> $GITHUB_OUTPUT
echo "shortfilename=${RELEASE_SHORT_TGZ}" >> $GITHUB_OUTPUT
- name: Get zimbra-builder.sh commands
id: zimbra-builder
run: |
echo "commands<<EOF"$'\n'"$(cat ${{ github.workspace }}/BUILDS/zimbra-builder-commands.txt)"$'\n'EOF >> $GITHUB_OUTPUT
- name: Generate checksums
run: |
cd ${{ steps.tgz-release.outputs.directory }}
md5sum ${{ steps.tgz-release.outputs.shortfilename }} > ${{ steps.tgz-release.outputs.shortfilename }}.md5
sha256sum ${{ steps.tgz-release.outputs.shortfilename }} > ${{ steps.tgz-release.outputs.shortfilename }}.sha256
- name: Release
uses: crowbarmaster/[email protected]
with:
repo_token: ${{ github.token }}
prerelease: false
generate_notes: false
automatic_release_tag: zimbra-foss-build/${{ steps.split-tag.outputs.version }}
title: Zimbra ${{ steps.split-tag.outputs.version }} FOSS Builds
body: |
**MALDUA'S Zimbra FOSS Builds** brought to you by [BTACTIC, open source & cloud solutions](https://www.btactic.com).
How this was build:
```
${{ steps.zimbra-builder.outputs.commands }}
```
files: |
${{ steps.tgz-release.outputs.filename }}
${{ steps.tgz-release.outputs.filename }}.md5
${{ steps.tgz-release.outputs.filename }}.sha256