Use actions/checkout@v4 features in log analysis step #2157
Workflow file for this run
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
name: Build | |
on: [push, pull_request] | |
env: | |
QT_VERSION: 6.7.0 | |
QT_MODULES: qtwebengine qtwebchannel qtpositioning | |
GCC_VERSION: 13 | |
CLANG_VERSION: 17 | |
jobs: | |
linux: | |
name: Linux | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Install Tools | |
run: | | |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test | |
sudo apt-get update | |
sudo apt install gcc-${{ env.GCC_VERSION }} g++-${{ env.GCC_VERSION }} | |
- name: Install Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt install libxcb-cursor0 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} qtserialport | |
cache: true | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@main | |
with: | |
key: linux | |
- uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Compile | |
run: scripts/linux-build.sh | |
env: | |
CC: gcc-${{ env.GCC_VERSION }} | |
CXX: g++-${{ env.GCC_VERSION }} | |
- name: AppImage | |
run: | | |
installers/linux/build.sh | |
env: | |
CC: gcc-${{ env.GCC_VERSION }} | |
CXX: g++-${{ env.GCC_VERSION }} | |
- uses: actions/upload-artifact@v4 | |
if: github.event_name != 'pull_request' | |
with: | |
name: linux-appimage | |
path: build/gcc/Graphia-*.tar.gz | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: linux-logs | |
path: build/gcc/*.log | |
- name: Upload Symbols | |
if: github.event_name != 'pull_request' | |
run: scripts/upload-symbols.sh | |
shell: bash | |
env: | |
SYM_UPLOAD_URL: ${{ secrets.SYM_UPLOAD_URL }} | |
windows: | |
name: Windows | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} | |
cache: true | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@main | |
with: | |
variant: sccache | |
key: windows | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Compile | |
shell: cmd | |
run: call scripts\windows-build.bat | |
env: | |
CC: cl.exe | |
CXX: cl.exe | |
- name: NSIS Installer | |
shell: cmd | |
run: call installers\windows\build.bat | |
env: | |
CRTDIRECTORY: ${{ env.VcToolsRedistDir }}\x64\Microsoft.VC142.CRT | |
WINDOWS_SIGN_KEYSTORE_BASE64: ${{ secrets.WINDOWS_SIGN_KEYSTORE_BASE64 }} | |
WINDOWS_SIGN_PASSWORD: ${{ secrets.WINDOWS_SIGN_PASSWORD }} | |
WINDOWS_SIGN_SUBJECTNAME: ${{ secrets.WINDOWS_SIGN_SUBJECTNAME }} | |
WINDOWS_SIGN_TSA: ${{ secrets.WINDOWS_SIGN_TSA }} | |
- uses: actions/upload-artifact@v4 | |
if: github.event_name != 'pull_request' | |
with: | |
name: windows-installer | |
path: build/Graphia-*-installer.exe | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: windows-logs | |
path: build/*.log | |
- name: Upload Symbols | |
if: github.event_name != 'pull_request' | |
run: scripts/upload-symbols.sh | |
shell: bash | |
env: | |
SYM_UPLOAD_URL: ${{ secrets.SYM_UPLOAD_URL }} | |
macos: | |
name: macOS | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Force Python to version 3.10 to workaround node-gyp install problem (remove later) | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} | |
cache: true | |
setup-python: false # Python installed above | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@main | |
with: | |
key: macos | |
- uses: seanmiddleditch/gha-setup-ninja@v3 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '12' | |
- name: Compile | |
run: scripts/macos-build.sh | |
- name: app and dmg | |
run: | | |
npm install -g appdmg | |
installers/macos/build.sh | |
env: | |
APPLE_CERTIFICATE_P12_BASE64: ${{ secrets.APPLE_CERTIFICATE_P12_BASE64 }} | |
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} | |
APPLE_KEYCHAIN_PASSWORD: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }} | |
APPLE_NOTARIZATION_PASSWORD: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }} | |
APPLE_NOTARIZATION_USERNAME: ${{ secrets.APPLE_NOTARIZATION_USERNAME }} | |
APPLE_SIGN_ID: ${{ secrets.APPLE_SIGN_ID }} | |
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
- uses: actions/upload-artifact@v4 | |
if: github.event_name != 'pull_request' | |
with: | |
name: macos-disk-image | |
path: build/Graphia-*.dmg | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: macos-logs | |
path: build/*.log | |
- name: Upload Symbols | |
if: github.event_name != 'pull_request' | |
run: scripts/upload-symbols.sh | |
shell: bash | |
env: | |
SYM_UPLOAD_URL: ${{ secrets.SYM_UPLOAD_URL }} | |
wasm: | |
name: WebAssembly | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Determine appropriate emsdk version | |
run: | | |
EMSDK_VERSION=$(scripts/emsdk-version-for-qt-version.sh ${{ env.QT_VERSION }}) | |
echo "EMSDK_VERSION=${EMSDK_VERSION}" >> $GITHUB_ENV | |
- name: Install emsdk | |
uses: mymindstorm/setup-emsdk@v13 | |
with: | |
version: ${{ env.EMSDK_VERSION }} | |
- name: Install Qt | |
uses: timangus/install-qt-action@deployed | |
with: | |
aqtsource: git+https://github.com/timangus/aqtinstall.git | |
version: ${{ env.QT_VERSION }} | |
host: all_os | |
target: wasm | |
arch: wasm_multithread | |
extra: --autodesktop | |
cache: true | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@main | |
with: | |
key: wasm | |
- uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Compile | |
run: | | |
scripts/wasm-build.sh | |
env: | |
UNITY_BUILD: OFF | |
- name: Archive | |
run: | | |
installers/wasm/build.sh | |
- uses: actions/upload-artifact@v4 | |
if: github.event_name != 'pull_request' | |
with: | |
name: webassembly | |
path: build/wasm/Graphia-WebAssembly-* | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: webassembly-logs | |
path: build/wasm/*.log | |
wasm-deploy: | |
name: Deploy WebAssembly | |
if: github.event_name != 'pull_request' && needs.check-is-release.outputs.is-release == 'true' | |
runs-on: ubuntu-latest | |
needs: | |
- check-is-release | |
- wasm | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- uses: actions/checkout@v4 | |
with: | |
repository: graphia-app/web | |
ssh-key: ${{ secrets.WASM_SSH_PRIVATE_KEY }} | |
path: web | |
- uses: actions/download-artifact@v4 | |
with: | |
name: webassembly | |
path: build | |
- name: Deploy | |
run: scripts/wasm-deploy.sh web | |
clang-debug: | |
name: Clang Debug | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Install Tools | |
run: | | |
sudo wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh | |
sudo bash /tmp/llvm.sh ${{ env.CLANG_VERSION }} | |
sudo apt-get update | |
sudo apt-get install libc++-${{ env.CLANG_VERSION }}-dev libc++1-${{ env.CLANG_VERSION }} libc++abi-${{ env.CLANG_VERSION }}-dev libc++abi1-${{ env.CLANG_VERSION }} | |
sudo apt-get install libunwind-${{ env.CLANG_VERSION }}-dev | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} | |
cache: true | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@main | |
with: | |
key: clang-debug | |
- uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Compile | |
run: | | |
scripts/linux-build.sh | |
scripts/parse-compile_commands-json.sh | |
env: | |
BUILD_TYPE: Debug | |
UNITY_BUILD: OFF | |
CC: clang-${{ env.CLANG_VERSION }} | |
CXX: clang++-${{ env.CLANG_VERSION }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: static-analysis-logs-clang | |
path: build/clang/*.log | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: static-analysis-build | |
path: | | |
build/clang/variables.sh | |
build/clang/compile_commands.json | |
build/clang/**/*.h | |
build/clang/**/*.hpp | |
build/clang/**/*.hxx | |
build/clang/**/*.c | |
build/clang/**/*.cpp | |
build/clang/**/*.cxx | |
windows-clang: | |
name: Windows Clang | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} | |
cache: true | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@main | |
with: | |
variant: sccache | |
key: windows-clang | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Compile | |
shell: cmd | |
run: call scripts\windows-build.bat | |
env: | |
CC: clang-cl.exe | |
CXX: clang-cl.exe | |
- name: NSIS Installer | |
shell: cmd | |
run: call installers\windows\build.bat | |
env: | |
CRTDIRECTORY: ${{ env.VcToolsRedistDir }}\x64\Microsoft.VC142.CRT | |
WINDOWS_SIGN_KEYSTORE_BASE64: ${{ secrets.WINDOWS_SIGN_KEYSTORE_BASE64 }} | |
WINDOWS_SIGN_PASSWORD: ${{ secrets.WINDOWS_SIGN_PASSWORD }} | |
WINDOWS_SIGN_SUBJECTNAME: ${{ secrets.WINDOWS_SIGN_SUBJECTNAME }} | |
WINDOWS_SIGN_TSA: ${{ secrets.WINDOWS_SIGN_TSA }} | |
- uses: actions/upload-artifact@v4 | |
if: github.event_name != 'pull_request' | |
with: | |
name: windows-clang-installer | |
path: build/Graphia-*-installer.exe | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: windows-clang-logs | |
path: build/*.log | |
- name: Upload Symbols | |
if: github.event_name != 'pull_request' | |
run: scripts/upload-symbols.sh | |
shell: bash | |
env: | |
SYM_UPLOAD_URL: ${{ secrets.SYM_UPLOAD_URL }} | |
clang-tidy: | |
name: Clang-Tidy | |
runs-on: ubuntu-latest | |
needs: | |
- clang-debug | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Install Tools | |
run: | | |
sudo wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh | |
sudo bash /tmp/llvm.sh ${{ env.CLANG_VERSION }} | |
sudo apt-get update | |
sudo apt-get install libc++-${{ env.CLANG_VERSION }}-dev libc++1-${{ env.CLANG_VERSION }} libc++abi-${{ env.CLANG_VERSION }}-dev libc++abi1-${{ env.CLANG_VERSION }} | |
sudo apt-get install libunwind-${{ env.CLANG_VERSION }}-dev | |
sudo apt-get install clang-tidy-${{ env.CLANG_VERSION }} | |
- name: Checkout ctcache | |
uses: actions/checkout@v4 | |
with: | |
repository: matus-chochlik/ctcache | |
path: ctcache | |
- name: Install ctcache | |
run: | | |
sudo mv ctcache /opt/ctcache | |
- name: Get Date | |
id: get-date | |
run: | | |
echo "date=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT | |
shell: bash | |
- name: Store ctcache | |
uses: actions/cache@v4 | |
with: | |
key: ctcache-${{ steps.get-date.outputs.date }} | |
path: /tmp/clang-tidy-cache | |
restore-keys: | | |
ctcache- | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} | |
cache: true | |
- uses: actions/download-artifact@v4 | |
with: | |
name: static-analysis-build | |
path: build/clang/ | |
- name: Analyse | |
run: scripts/clang-tidy.sh | |
env: | |
CLANGTIDY: /opt/ctcache/clang-tidy | |
CTCACHE_DIR: /tmp/clang-tidy-cache | |
CTCACHE_CLANG_TIDY: clang-tidy-${{ env.CLANG_VERSION }} | |
CTCACHE_SAVE_OUTPUT: 1 | |
BUILD_DIR: build/clang/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: static-analysis-logs-clang-tidy | |
path: build/clang/*.log | |
cppcheck: | |
name: cppcheck | |
runs-on: ubuntu-latest | |
needs: | |
- clang-debug | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Install Tools | |
run: | | |
sudo wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh | |
sudo bash /tmp/llvm.sh ${{ env.CLANG_VERSION }} | |
sudo apt-get update | |
sudo apt-get install libc++-${{ env.CLANG_VERSION }}-dev libc++1-${{ env.CLANG_VERSION }} libc++abi-${{ env.CLANG_VERSION }}-dev libc++abi1-${{ env.CLANG_VERSION }} | |
sudo apt-get install libunwind-${{ env.CLANG_VERSION }}-dev | |
sudo apt-get update | |
sudo apt-get install cppcheck | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} | |
cache: true | |
- uses: actions/download-artifact@v4 | |
with: | |
name: static-analysis-build | |
path: build/clang/ | |
- name: Analyse | |
run: scripts/cppcheck.sh | |
env: | |
CPPCHECK: cppcheck | |
BUILD_DIR: build/clang/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: static-analysis-logs-cppcheck | |
path: build/clang/*.log | |
clazy: | |
name: Clazy | |
runs-on: ubuntu-latest | |
needs: | |
- clang-debug | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Install Tools | |
run: | | |
sudo wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh | |
sudo bash /tmp/llvm.sh ${{ env.CLANG_VERSION }} | |
sudo apt install g++ cmake clang llvm-${{ env.CLANG_VERSION }}-dev git-core libclang-${{ env.CLANG_VERSION }}-dev | |
sudo update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-${{ env.CLANG_VERSION }} 100 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} | |
cache: true | |
- uses: actions/checkout@v4 | |
with: | |
repository: KDE/clazy | |
path: clazy | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@main | |
with: | |
key: clazy | |
- uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Build clazy | |
run: | | |
cd clazy/ | |
sed -i 's/target_precompile_headers/#target_precompile_headers/' CMakeLists.txt | |
cmake -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -G Ninja | |
cmake --build . | |
sudo cmake --build . --target install | |
- uses: actions/download-artifact@v4 | |
with: | |
name: static-analysis-build | |
path: build/clang/ | |
- name: Analyse | |
run: scripts/clazy.sh | |
env: | |
CLAZY: /usr/bin/clazy | |
BUILD_DIR: build/clang/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: static-analysis-logs-clazy | |
path: build/clang/*.log | |
qmllint: | |
name: QML Lint | |
runs-on: ubuntu-latest | |
needs: | |
- clang-debug | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} | |
cache: true | |
- uses: actions/download-artifact@v4 | |
with: | |
name: static-analysis-build | |
path: build/clang/ | |
- name: Analyse | |
run: scripts/qmllint.sh | |
env: | |
BUILD_DIR: build/clang/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: static-analysis-logs-qmllint | |
path: build/clang/*.log | |
iwyu: | |
name: Include What You Use | |
runs-on: ubuntu-latest | |
needs: | |
- clang-debug | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Install Tools | |
run: | | |
sudo wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh | |
sudo bash /tmp/llvm.sh ${{ env.CLANG_VERSION }} | |
sudo apt install g++ cmake clang llvm-${{ env.CLANG_VERSION }}-dev git-core libclang-${{ env.CLANG_VERSION }}-dev | |
sudo update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-${{ env.CLANG_VERSION }} 100 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
modules: ${{ env.QT_MODULES }} | |
cache: true | |
- uses: actions/checkout@v4 | |
with: | |
repository: include-what-you-use/include-what-you-use | |
ref: clang_${{ env.CLANG_VERSION }} | |
path: iwyu | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@main | |
with: | |
key: iwyu | |
- uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Build IWYU | |
run: | | |
cd iwyu/ | |
cmake -DCMAKE_PREFIX_PATH=/usr/lib/llvm-${{ env.CLANG_VERSION }} -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -G Ninja | |
cmake --build . | |
sudo cmake --build . --target install | |
- uses: actions/download-artifact@v4 | |
with: | |
name: static-analysis-build | |
path: build/clang/ | |
- name: Analyse | |
run: scripts/iwyu.sh | |
env: | |
BUILD_DIR: build/clang/ | |
IWYU_SOURCE: ${{ github.workspace }}/iwyu | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: static-analysis-logs-iwyu | |
path: build/clang/*.log | |
check-is-release: | |
if: github.event_name != 'pull_request' | |
name: Check For Release Tag | |
runs-on: ubuntu-latest | |
outputs: | |
is-release: ${{ steps.is-release-test.outputs.result }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Check Release Tag | |
id: is-release-test | |
run: | | |
GIT_TAG=$(git describe --exact-match --tags || true) | |
if [[ -z "${GIT_TAG}" || "${{ github.ref_type }}" != 'tag' ]] | |
then | |
echo "Not tagged" | |
echo "result=false" >> $GITHUB_OUTPUT | |
elif [[ "${GIT_TAG}" =~ ^[0-9]+\.[0-9]+(-rc[0-9]+)?$ ]] | |
then | |
echo "'${GIT_TAG}' is a release" | |
echo "result=true" >> $GITHUB_OUTPUT | |
else | |
echo "'${GIT_TAG}' is not a release" | |
echo "result=false" >> $GITHUB_OUTPUT | |
fi | |
shell: bash | |
release: | |
name: GitHub Release | |
if: github.event_name != 'pull_request' && needs.check-is-release.outputs.is-release == 'true' | |
runs-on: ubuntu-latest | |
needs: | |
- check-is-release | |
- linux | |
- windows | |
- macos | |
- wasm | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: linux-appimage | |
path: release/Linux AppImage | |
- uses: actions/download-artifact@v4 | |
with: | |
name: macos-disk-image | |
path: release/macOS Disk Image | |
- uses: actions/download-artifact@v4 | |
with: | |
name: windows-installer | |
path: release/Windows Installer | |
- uses: actions/download-artifact@v4 | |
with: | |
name: webassembly | |
path: release/WebAssembly | |
- name: Create Release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
- name: Upload Linux Binary | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: release/Linux AppImage/*.tar.gz | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true | |
- name: Upload macOS Binary | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: release/macOS Disk Image/*.dmg | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true | |
- name: Upload Windows Binary | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: release/Windows Installer/*.exe | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true | |
- name: Upload WebAssembly Tarball | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: release/WebAssembly/*.tar.gz | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true | |
prereleasebuilds: | |
if: github.event_name != 'pull_request' | |
name: Upload Builds to graphia.dev | |
runs-on: ubuntu-latest | |
needs: | |
- linux | |
- windows | |
- macos | |
- wasm | |
- windows-clang | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: linux-appimage | |
path: prerelease/Linux AppImage | |
- uses: actions/download-artifact@v4 | |
with: | |
name: linux-logs | |
path: prerelease/Linux Logs | |
- uses: actions/download-artifact@v4 | |
with: | |
name: macos-disk-image | |
path: prerelease/macOS Disk Image | |
- uses: actions/download-artifact@v4 | |
with: | |
name: macos-logs | |
path: prerelease/macOS Logs | |
- uses: actions/download-artifact@v4 | |
with: | |
name: windows-installer | |
path: prerelease/Windows Installer | |
- uses: actions/download-artifact@v4 | |
with: | |
name: windows-logs | |
path: prerelease/Windows Logs | |
- uses: actions/download-artifact@v4 | |
with: | |
name: windows-clang-installer | |
path: prerelease/Windows Clang Installer | |
- uses: actions/download-artifact@v4 | |
with: | |
name: windows-clang-logs | |
path: prerelease/Windows Clang Logs | |
- uses: actions/download-artifact@v4 | |
with: | |
name: webassembly | |
path: prerelease/WebAssembly | |
- uses: actions/download-artifact@v4 | |
with: | |
name: webassembly-logs | |
path: prerelease/WebAssembly Logs | |
- uses: horochx/deploy-via-scp@master | |
with: | |
host: ${{ secrets.PRERELEASE_HOST }} | |
user: ${{ secrets.PRERELEASE_USERNAME }} | |
key: ${{ secrets.PRERELEASE_KEY }} | |
local: "prerelease/*" | |
remote: ${{ secrets.PRERELEASE_DIR }} | |
prereleasestaticanalysislogs: | |
if: github.event_name != 'pull_request' | |
name: Upload Logs to graphia.dev | |
runs-on: ubuntu-latest | |
needs: | |
- clang-debug | |
- clang-tidy | |
- cppcheck | |
- clazy | |
- iwyu | |
- qmllint | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: static-analysis-logs-* | |
merge-multiple: true | |
path: prerelease/Static Analysis Logs | |
- uses: horochx/deploy-via-scp@master | |
with: | |
host: ${{ secrets.PRERELEASE_HOST }} | |
user: ${{ secrets.PRERELEASE_USERNAME }} | |
key: ${{ secrets.PRERELEASE_KEY }} | |
local: "prerelease/*" | |
remote: ${{ secrets.PRERELEASE_DIR }} | |
log-analysis: | |
if: github.event_name != 'pull_request' | |
name: Analyse Logs | |
runs-on: ubuntu-latest | |
needs: | |
- linux | |
- windows | |
- macos | |
- wasm | |
- clang-debug | |
- windows-clang | |
- clang-tidy | |
- cppcheck | |
- clazy | |
- qmllint | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: linux-logs | |
path: logs/linux | |
- uses: actions/download-artifact@v4 | |
with: | |
name: macos-logs | |
path: logs/macos | |
- uses: actions/download-artifact@v4 | |
with: | |
name: windows-logs | |
path: logs/windows | |
- uses: actions/download-artifact@v4 | |
with: | |
name: windows-clang-logs | |
path: logs/windows-clang | |
- uses: actions/download-artifact@v4 | |
with: | |
name: webassembly-logs | |
path: logs/wasm | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: static-analysis-logs-* | |
merge-multiple: true | |
path: logs/staticanalysis | |
- name: Install Perl modules | |
uses: perl-actions/install-with-cpanm@v1 | |
with: | |
install: | | |
Text::Table::CSV | |
Text::Table::Tiny | |
- uses: actions/checkout@v4 | |
with: | |
repository: graphia-app/defects | |
ssh-key: ${{ secrets.DEFECTS_SSH_PRIVATE_KEY }} | |
path: defects | |
- name: Analyse | |
run: | | |
cd defects | |
SHORT_SHA=$(git rev-parse --short HEAD) | |
MESSAGE=$(git log --format=%B -n1 HEAD | head -n1) | |
BRANCH=$(echo ${GITHUB_REF#refs/*/}) | |
git config user.email "" | |
git config user.name "Log Analyser" | |
./update.sh -b $BRANCH -l "../logs" -m "$SHORT_SHA $MESSAGE" |