Skip to content

Hide close button on first run dialog #184

Hide close button on first run dialog

Hide close button on first run dialog #184

Workflow file for this run

name: Build and Release TLEscope
on:
push:
branches: [ "main", "master" ]
tags:
- 'v*'
paths-ignore:
- 'README.md'
- 'ROADMAP.md'
- 'CONTRIBUTING.md'
pull_request:
branches: [ "main", "master" ]
paths-ignore:
- 'README.md'
- 'ROADMAP.md'
- 'CONTRIBUTING.md'
jobs:
build-linux:
name: Build Linux
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Linux Build Dependencies
run: |
sudo apt-get update
sudo apt-get install -y gcc make libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev libwayland-dev libxkbcommon-dev libcurl4-openssl-dev
- name: Compile and Bundle Linux
run: make linux
- name: Upload Linux Artifact
uses: actions/upload-artifact@v4
with:
name: TLEscope-Linux-Portable
path: dist/TLEscope-Linux-Portable/
retention-days: 14
build-windows:
name: Build Windows
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup MSYS2 (MinGW Environment)
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
make
mingw-w64-x86_64-gcc
mingw-w64-x86_64-curl
mingw-w64-x86_64-ngtcp2
mingw-w64-x86_64-nghttp3
mingw-w64-x86_64-zstd
mingw-w64-x86_64-libssh2
mingw-w64-x86_64-openssl
mingw-w64-x86_64-pkgconf
mingw-w64-x86_64-nsis
mingw-w64-x86_64-imagemagick
- name: Compile and Bundle Windows
run: make win-installer MINGW_PREFIX=/mingw64 PKG_CONFIG_WIN=pkg-config
- name: Upload Windows Artifact
uses: actions/upload-artifact@v4
with:
name: TLEscope-Win-Portable
path: dist/TLEscope-Win-Portable/
retention-days: 14
- name: Upload Windows Installer Artifact
uses: actions/upload-artifact@v4
with:
name: TLEscope-Installer
path: dist/TLEscope-Installer.exe
retention-days: 14
build-windows-arm64:
name: Build Windows ARM64
runs-on: windows-11-arm
defaults:
run:
shell: msys2 {0}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup MSYS2 (MinGW Environment)
uses: msys2/setup-msys2@v2
with:
msystem: CLANGARM64
update: true
install: >-
mingw-w64-clang-aarch64-make
mingw-w64-clang-aarch64-clang
mingw-w64-clang-aarch64-curl
mingw-w64-clang-aarch64-ngtcp2
mingw-w64-clang-aarch64-nghttp3
mingw-w64-clang-aarch64-zstd
mingw-w64-clang-aarch64-libssh2
mingw-w64-clang-aarch64-openssl
mingw-w64-clang-aarch64-pkgconf
- name: Compile and Bundle Windows ARM64
run: mingw32-make windows-arm64
- name: Upload Windows ARM64 Artifact
uses: actions/upload-artifact@v4
with:
name: TLEscope-Win-arm64-Portable
path: dist/TLEscope-Win-arm64-Portable/
retention-days: 14
release:
name: Publish Release
needs: [build-linux, build-windows, build-windows-arm64]
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v'))
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Prepare and Zip Artifacts for Release
run: |
cd artifacts
# The Makefile bundles into subdirectories, so we zip those folders
chmod +x TLEscope-Linux-Portable/TLEscope
zip -r ../TLEscope-Linux-Portable.zip TLEscope-Linux-Portable/
zip -r ../TLEscope-Win-Portable.zip TLEscope-Win-Portable/
zip -r ../TLEscope-Win-arm64-Portable.zip TLEscope-Win-arm64-Portable/
# Move installer out of its artifact subdirectory for flat publishing
mv TLEscope-Installer/TLEscope-Installer.exe ../
cd ..
- name: Clean Existing Release Assets
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
gh release delete "${{ github.ref_name }}" -y || true
fi
- name: Force Update Nightly Tag
if: startsWith(github.ref, 'refs/heads/')
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
gh release delete nightly --cleanup-tag -y || true
git tag -f nightly
git push -f origin nightly
- name: Update Nightly Release
if: startsWith(github.ref, 'refs/heads/')
uses: softprops/action-gh-release@v2
with:
tag_name: nightly
name: "Nightly Build"
body: "Automated nightly build reflecting the latest commit."
prerelease: true
files: |
TLEscope-Linux-Portable.zip
TLEscope-Win-Portable.zip
TLEscope-Win-arm64-Portable.zip
TLEscope-Installer.exe
- name: Publish Release
if: startsWith(github.ref, 'refs/tags/v')
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: |
TLEscope-Linux-Portable.zip
TLEscope-Win-Portable.zip
TLEscope-Win-arm64-Portable.zip
TLEscope-Installer.exe