fixup! ci: Fix argument #1351
Workflow file for this run
This file contains hidden or 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
# SPDX-FileCopyrightText: Copyright (C) swift Project Community / Contributors | |
# SPDX-License-Identifier: CC0-1.0 | |
name: Build swift | |
on: | |
push: | |
branches-ignore: | |
- stable/** | |
- nobuild/** | |
pull_request: | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
do_vatsim_key: ${{ github.event_name == 'push' }} | |
do_symbols: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
qt_version: 6.8.0 | |
bitrock_version: qt-professional-24.7.0 | |
bitrock_url: https://releases.installbuilder.com/installbuilder | |
externals: swift-project/externals | |
externals_sha: e67552f92d6b5ba49aa3f1f4ebae6de51192c34e | |
use_externals: ${{ secrets.EXTERNALS_PAT != '' }} | |
jobs: | |
preBuild: | |
runs-on: ubuntu-22.04 | |
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository }} | |
outputs: | |
version: ${{ steps.version.outputs.value }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Get version number | |
id: version | |
run: | | |
echo "value=$(python3 -u scripts/utils.py --version)" >>$GITHUB_OUTPUT | |
- name: Remove artifacts | |
uses: swift-project/delete-artifact@swift | |
with: | |
name: | | |
xswiftbus-thin-* | |
xswiftbus-fat-* | |
swiftsymbols-* | |
swiftinstaller-* | |
failOnError: false | |
warnIfNotFound: false | |
buildLinux: | |
runs-on: ubuntu-22.04 | |
needs: [preBuild] | |
env: | |
BACKTRACE_SYMBOL_TOKEN: ${{ secrets.BACKTRACE_SYMBOL_TOKEN }} | |
BACKTRACE_MINIDUMP_TOKEN: ${{ secrets.BACKTRACE_MINIDUMP_TOKEN }} | |
BITROCK_BUILDER: ~/installbuilder/bin/builder | |
steps: | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
version: ${{ env.qt_version }} | |
modules: 'qtmultimedia' | |
cache: true | |
- name: Cache InstallBuilder | |
id: cache-bitrock | |
uses: actions/cache@v4 | |
with: | |
path: ~/installbuilder.run | |
key: installbuilder-${{ env.bitrock_version }}-linux-x64 | |
- name: Download InstallBuilder | |
if: steps.cache-bitrock.outputs.cache-hit != 'true' | |
run: | | |
wget --retry-connrefused -t 10 -w 10 -T 60 -O ~/installbuilder.run ${{ env.bitrock_url }}/installbuilder-${{ env.bitrock_version }}-linux-x64-installer.run | |
- name: Install InstallBuilder | |
run: | | |
chmod 700 ~/installbuilder.run | |
~/installbuilder.run --mode unattended --prefix ~/installbuilder | |
cat >~/license.xml <<EOF | |
$BITROCK_LICENSE | |
EOF | |
env: | |
BITROCK_LICENSE: ${{ secrets.BITROCK_LICENSE }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get -y install dbus-x11 libglu1-mesa-dev libopus-dev libsodium-dev libpulse-dev libdbus-1-dev libevent-dev libpng-dev ninja-build | |
pip3 install requests | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Checkout externals | |
if: ${{ env.use_externals == 'true' }} | |
uses: actions/checkout@v4 | |
env: | |
EXTERNALS_PAT: ${{ secrets.EXTERNALS_PAT }} | |
with: | |
repository: ${{ env.externals }} | |
ref: ${{ env.externals_sha }} | |
token: ${{ env.EXTERNALS_PAT }} | |
path: 'third_party/externals' | |
- name: Start DBus session bus | |
run: | | |
dbus-launch --sh-syntax | tee session.sh | |
eval $(cat session.sh) | |
echo "DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS" >>$GITHUB_ENV | |
- name: Create Vatsim key file | |
if: ${{ env.do_vatsim_key == 'true' }} | |
run: | | |
cat >vatsim.json <<EOF | |
{ "vatsim": { "id": "$VATSIM_ID", "key": "$VATSIM_KEY" } } | |
EOF | |
env: | |
VATSIM_ID: ${{ secrets.VATSIM_ID }} | |
VATSIM_KEY: ${{ secrets.VATSIM_KEY }} | |
- uses: Trass3r/setup-cpp@1b63900ecf3f0b7c60ee53aa7be122f2c4fe7a2c | |
- name: Build swift (without symbols) | |
if: ${{ env.do_symbols != 'true' }} | |
run: | | |
python3 -u scripts/build.py -w 64 -t gcc | |
- name: Build swift (with symbols) | |
if: ${{ env.do_symbols == 'true' }} | |
run: | | |
python3 -u scripts/build.py -w 64 -t gcc --upload-symbols | |
- name: Upload installer | |
uses: actions/upload-artifact@v4 | |
with: | |
name: swiftinstaller-linux-64-${{ needs.preBuild.outputs.version }} | |
path: ${{ github.workspace }}/swiftinstaller-* | |
- name: Upload symbols | |
uses: actions/upload-artifact@v4 | |
if: ${{ env.do_symbols == 'true' }} | |
with: | |
name: swiftsymbols-linux-64-${{ needs.preBuild.outputs.version }} | |
path: ${{ github.workspace }}/swiftsymbols-* | |
- name: Upload xswiftbus | |
uses: actions/upload-artifact@v4 | |
with: | |
name: xswiftbus-thin-linux-64-${{ needs.preBuild.outputs.version }} | |
path: ${{ github.workspace }}/xswiftbus-* |