Skip to content

Wait for vblank in timing tests #44

Wait for vblank in timing tests

Wait for vblank in timing tests #44

Workflow file for this run

name: Build and Package
on:
workflow_dispatch:
push:
paths-ignore:
- '**.md'
- '.github/**'
- '.vscode/**'
pull_request:
jobs:
linux:
name: Linux
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Update OS
run: sudo apt-get update -qq
- name: Install build dependencies
run: sudo apt-get install -y build-essential git
- name: Clone and build cc65
run: |
git clone https://github.com/cc65/cc65.git ~/cc65
cd ~/cc65
make
echo "CC65_HOME=$HOME/cc65" >> $GITHUB_ENV
echo "$HOME/cc65/bin" >> $GITHUB_PATH
- name: Build all projects
run: |
mkdir -p artifacts
for dir in */; do
# Skip hidden directories
if [[ "$dir" != .* ]]; then
echo "Building in directory: $dir"
cd "$dir"
if [ -f Makefile ]; then
make
# Copy any .lnx files to artifacts directory
find . -name "*.lnx" -exec cp {} ../artifacts/ \;
fi
cd ..
fi
done
- name: Archive binaries
uses: actions/upload-artifact@v4
with:
name: lynx-tests-lnx
path: artifacts/*.lnx
if-no-files-found: error
release:
name: Release
needs: [linux]
if: github.event_name != 'pull_request' && startswith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Prepare release directory
run: |
mkdir -p release
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: lynx-tests-lnx
path: release
- name: Create zip archive
run: |
cd release
zip lynx-tests-${{ github.ref_name }}.zip *.lnx
- name: Create release
run: |
gh release create ${{ github.ref_name }} ./release/lynx-tests-${{ github.ref_name }}.zip \
--title "Lynx Tests ${{ github.ref_name }}" \
--draft \
--generate-notes
env:
GITHUB_TOKEN: ${{ github.TOKEN }}