Skip to content

Add GitHub Actions

Add GitHub Actions #13

Workflow file for this run

name: Build and Test
on:
pull_request:
push:
branches:
- main
jobs:
build-javascript:
name: JavaScript OS=${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v4
- name: Setup Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install cc65
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
apt install -y cc65
elif [ "$RUNNER_OS" == "Windows" ]; then
choco install cc65-compiler
elif [ "$RUNNER_OS" == "macOS" ]; then
brew install cc65
fi
shell: bash
- name: Test
working-directory: js
run: |
npm install
npm test
build-intcode:
name: Intcode OS=${{ matrix.os }}
runs-on: ${{ matrix.os }}
env:
ICDIR: xzintbit
MSBASICDIR: msbasic
FUNCTESTDIR: 6502_65C02_functional_tests
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v4
- name: Checkout xzintbit
uses: actions/checkout@v4
with:
repository: matushorvath/xzintbit
path: ic/xzintbit
- name: Build xzintbit
working-directory: ic/xzintbit
run: make build-vm
- name: Checkout Microsoft Basic
uses: actions/checkout@v4
with:
repository: matushorvath/msbasic
path: ic/msbasic
- name: Install cc65
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
apt install -y cc65
elif [ "$RUNNER_OS" == "Windows" ]; then
choco install cc65-compiler
elif [ "$RUNNER_OS" == "macOS" ]; then
brew install cc65
fi
shell: bash
- name: Build Microsoft Basic
working-directory: ic/msbasic
run: ./make.sh
- name: Checkout 6502 functional tests
uses: actions/checkout@v4
with:
repository: Klaus2m5/6502_65C02_functional_tests
path: ic/6502_65C02_functional_tests
- name: Build
working-directory: ic
run: make build
# TODO enable tests in CI/CD
# - name: Test
# working-directory: ic
# run: make test
- name: Store artifact
uses: actions/upload-artifact@v4
with:
name: msbasic.input
path: bin/msbasic.input
if-no-files-found: error
if: github.ref == 'refs/heads/main'