Wait for vblank in timing tests #44
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
| 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 }} |