Skip to content

Fix image build

Fix image build #970

Workflow file for this run

name: 'CI'
on: push
jobs:
build_linux:
runs-on: ubuntu-latest
steps:
- name: 'Wipe workspace'
run: find ./ -mount -maxdepth 1 -exec rm -rf {} \;
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v5
with:
push: false
context: docker
tags: qflipper-build:latest
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Build application in docker
run: docker run --rm --privileged -v $(pwd):/project qflipper-build:latest /project/build_linux.sh
- name: Publish application
uses: actions/upload-artifact@v3
with:
name: qFlipper-x86_64.AppImage
path: |
./build/qFlipper-x86_64.AppImage
if-no-files-found: error
retention-days: 1
build_mac:
runs-on: [self-hosted, ARM64, macOS]
env:
MAC_OS_KEYCHAIN_NAME: ${{ secrets.MAC_OS_KEYCHAIN_NAME }}
MAC_OS_KEYCHAIN_PASSWORD: ${{ secrets.MAC_OS_KEYCHAIN_PASSWORD }}
MAC_OS_SIGNING_KEY_ID: ${{ secrets.MAC_OS_SIGNING_KEY_ID }}
MAC_OS_SIGNING_BUNDLE_ID: ${{ secrets.MAC_OS_SIGNING_BUNDLE_ID }}
MAC_OS_SIGNING_ASC_PROVIDER: ${{ secrets.MAC_OS_SIGNING_ASC_PROVIDER }}
MAC_OS_SIGNING_USERNAME: ${{ secrets.MAC_OS_SIGNING_USERNAME }}
MAC_OS_SIGNING_PASSWORD: ${{ secrets.MAC_OS_SIGNING_PASSWORD }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: true
- name: Build application
run: ./build_mac.sh
- name: Publish application
uses: actions/upload-artifact@v2
with:
name: qflipper.dmg
path: |
./build_mac/qflipper.dmg
if-no-files-found: error
retention-days: 1
build_windows:
runs-on: [self-hosted, X64, Windows]
env:
SIGNING_TOOL: ${{ secrets.WIN_SIGNING_TOOL }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: true
- name: Build application
run: .\build_windows.bat
- name: Publish application
uses: actions/upload-artifact@v2
with:
name: qFlipperSetup-64bit.exe
path: |
.\build\qFlipperSetup-64bit.exe
.\build\qFlipper-64bit.zip
if-no-files-found: error
retention-days: 1
upload:
name: Upload apps to storage
needs: [build_windows, build_mac, build_linux]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: 'Make artifacts directory'
run: |
test -d artifacts && rm -rf artifacts || true
mkdir artifacts
- name: 'Generate tag suffix'
if: startsWith(github.ref, 'refs/tags/') == true
run: |
echo "REF=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
echo "SUFFIX=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
- name: 'Generate branch suffix'
if: startsWith(github.ref, 'refs/tags/') != true
run: |
echo "REF=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
echo "SUFFIX=$(git rev-parse --abbrev-ref HEAD | sed 's/\//_/g')-$(date +'%d%m%Y')-$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- uses: actions/download-artifact@v2
with:
name: qFlipper-x86_64.AppImage
- uses: actions/download-artifact@v2
with:
name: qFlipperSetup-64bit.exe
- uses: actions/download-artifact@v2
with:
name: qflipper.dmg
- name: Rename app
run: |
mv qFlipper-x86_64.AppImage ./artifacts/qFlipper-x86_64-${SUFFIX}.AppImage
mv qFlipperSetup-64bit.exe ./artifacts/qFlipperSetup-64bit-${SUFFIX}.exe
mv qFlipper-64bit.zip ./artifacts/qFlipper-64bit-${SUFFIX}.zip
mv qflipper.dmg ./artifacts/qFlipper-${SUFFIX}.dmg
- name: Upload artifacts to update server
if: ${{ !github.event.pull_request.head.repo.fork }}
run: |
FILES=$(for CUR in $(ls artifacts/); do echo "-F files=@artifacts/$CUR"; done)
curl --fail -L -H "Token: ${{ secrets.INDEXER_TOKEN }}" \
-F "branch=${REF}" \
${FILES[@]} \
"${{ secrets.INDEXER_URL }}"/qFlipper/uploadfiles