name: build-mailadler-linux on: workflow_dispatch: schedule: # nightly - cron: '0 8 * * *' env: IMAGE_NAME: ubuntu:22.04 #mltframework/shotcut-build:qt6.8.3-ubuntu22.04 jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Build run: | echo Preparing version echo $(date +"%y.%-m.%-d") > VERSION VERSION=$(cat VERSION) echo VERSION=$VERSION FILENAME_VERSION=$VERSION cd scripts echo Making build script config file echo CLEANUP=0 > build-mailadler.conf echo mailadler_VERSION=\"$VERSION\" >> build-mailadler.conf docker run -v $PWD:/root/mailadler $IMAGE_NAME echo Renaming build artifacts mv mailadler.txz mailadler-linux-x86_64-$FILENAME_VERSION.txz mv src.txz mailadler-src-$FILENAME_VERSION.txz - name: Upload artifact uses: actions/upload-artifact@v4 with: name: linux-portable path: | scripts/mailadler-linux-x86_64-*.txz - name: Upload portable and source archives to S3 if: ${{ github.repository_owner == 'mltframework' }} uses: mltframework/s3cmd-action@v0 with: args: >- --access_key=${{ secrets.AWS_ACCESS_KEY }} --secret_key=${{ secrets.AWS_SECRET_KEY }} --acl-public --stop-on-error put scripts/*.txz s3://builds.us.meltytech/mailadler/ - name: Package AppImage run: | sudo apt update sudo apt install desktop-file-utils libfuse2 imagemagick mkdir packaging/linux/mailadler cp VERSION packaging/linux/mailadler/ cd packaging/linux export PKG2AICOMMIT=1eceb306077e51b991e987690b364e11971b44b3 wget https://raw.githubusercontent.com/probonopd/AppImages/${PKG2AICOMMIT}/pkg2appimage bash -ex pkg2appimage appimage/appimage.yml FILENAME_VERSION=$(cat mailadler/VERSION) mv out/*.AppImage out/mailadler-linux-x86_64-$FILENAME_VERSION.AppImage - name: Upload AppImage to S3 if: ${{ github.repository_owner == 'mltframework' }} uses: mltframework/s3cmd-action@v0 with: args: >- --access_key=${{ secrets.AWS_ACCESS_KEY }} --secret_key=${{ secrets.AWS_SECRET_KEY }} --acl-public --stop-on-error put packaging/linux/out/*.AppImage s3://builds.us.meltytech/mailadler/ - name: Prepare snap run: | VERSION=$(cat VERSION) mv scripts/mailadler-linux-x86_64-*.txz packaging/linux cd packaging/linux mkdir -p snap/gui cp ../../icons/mailadler-logo-64.png snap/gui sed 's|Icon=.*|Icon=${SNAP}/meta/gui/mailadler-logo-64.png|' org.mailadler.mailadler.desktop > snap/gui/mailadler.desktop FILENAME=$(ls *.txz) sed "s/\$VERSION/${VERSION}/ ; s/\$FILENAME/${FILENAME}/" snapcraft.yaml.in > snap/snapcraft.yaml - name: Package snap if: ${{ github.repository_owner == 'mltframework' }} uses: snapcore/action-build@v1 id: snap with: path: packaging/linux - name: Publish snap if: ${{ github.repository_owner == 'mltframework' }} uses: snapcore/action-publish@v1 env: SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} with: snap: ${{ steps.snap.outputs.snap }} release: edge