Skip to content

Commit

Permalink
Use Github Actions.
Browse files Browse the repository at this point in the history
  • Loading branch information
jacobly0 committed Aug 9, 2020
1 parent 2fe4ff7 commit 98d091f
Show file tree
Hide file tree
Showing 4 changed files with 146 additions and 117 deletions.
145 changes: 145 additions & 0 deletions .github/workflows/make.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: Win/Mac/Linux

on:
push:
branches:
- llvm
pull_request:
branches:
- llvm

jobs:
build:
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{matrix.runs-on}}
steps:
- name: Prepare Build Environment
run: |
cmake -E echo ::set-env name=ROM::84pce_515_53.rom
cmake -E echo ::set-env name=CEDEV::${{github.workspace}}/CEdev
cmake -E echo ::add-path::${{github.workspace}}/CEdev/bin
cmake -E echo ::add-path::${{github.workspace}}/CEmu/tests/autotester
- name: Prepare Build Environment
if: runner.os == 'Windows'
run: |
cmake -E echo ::set-env name=EXE::.exe
cmake -E echo ::set-env name=ENV::env:
- name: Install Build Dependencies
if: runner.os == 'Linux'
run: sudo apt-get install -y doxygen
- name: Install Build Dependencies
if: runner.os == 'macOS'
run: brew install doxygen

- name: Download ez80-clang
id: ez80-clang
uses: carlosperate/[email protected]
with:
file-url: https://jacobly.com/llvm/ez80-clang${{env.EXE}}-${{runner.os}}Release.zip
- name: Extract ez80-clang
uses: DuckSoft/[email protected]
with:
pathSource: ${{steps.ez80-clang.outputs.file-path}}
pathTarget: CEdev/bin
- name: Make ez80-clang Executable
if: runner.os != 'Windows'
run: chmod +x CEdev/bin/ez80-clang${{env.EXE}}
- name: Test ez80-clang
run: ez80-clang --version

- name: Checkout Toolchain
uses: actions/checkout@v2
with:
path: toolchain
submodules: recursive

- name: Build Toolchain
run: make -j4 -C toolchain
- name: Install Toolchain
env:
PREFIX: ${{github.workspace}}
run: make -j4 -C toolchain install release release-libs
- name: Build Examples
run: make -j4 -C ${{env.CEDEV}}/examples

- name: Checkout CEmu
uses: actions/checkout@v2
with:
repository: CE-Programming/CEmu
ref: latest-stable
path: CEmu

- name: Build CEmu
run: make -j4 -C CEmu/core
- name: Build Autotester CLI
run: make -j4 -C CEmu/tests/autotester

- name: Download Secrets
id: download-secrets
uses: carlosperate/[email protected]
with:
file-url: https://jacobly.com/CE-Programming/secrets
location: secrets
- name: Decrypt Secrets
env:
KEY: ${{secrets.SYMMETRIC_KEY_256}}
run: openssl enc -d -aes-256-cbc -iv d0583d991fcb6c3b05fb8eabc7421fb8 -K "$${{env.ENV}}KEY" -in ${{steps.download-secrets.outputs.file-path}} -out secrets/secrets.7z
- name: Extract Secrets
uses: DuckSoft/[email protected]
with:
pathSource: secrets/secrets.7z
pathTarget: secrets

- name: Test examples
if: runner.os != 'Windows'
env:
AUTOTESTER_LIBS_DIR: ${{github.workspace}}/toolchain/clibraries
AUTOTESTER_ROM: ${{github.workspace}}/secrets/${{env.ROM}}
run: |
failed=0
for test in ${{env.CEDEV}}/examples/*/*/autotest.json; do
cmake -E echo "Launching autotester on $test"
autotester "$test"
cmake -E true $((failed += $?))
done
exit $failed
- name: Test examples
if: runner.os == 'Windows'
env:
AUTOTESTER_LIBS_DIR: ${{github.workspace}}\toolchain\clibraries
AUTOTESTER_ROM: ${{github.workspace}}\secrets\${{env.ROM}}
run: |
$failed = 0
foreach ($test in "${{env.CEDEV}}\examples\*\*\autotest.json") {
cmake -E echo "Launching autotester on $test"
autotester "$test"
$failed += $?
}
Exit $failed
- name: Remove Secrets
if: always()
run: cmake -E rm -rf secrets

- name: Upload CEdev
uses: actions/upload-artifact@v2
with:
name: CEdev-${{runner.os}}
path: CEdev

- name: Upload Libraries
uses: actions/upload-artifact@v2
with:
name: clibraries
path: toolchain/clibraries

- name: Upload Windows Installer
if: runner.os == 'Windows'
uses: actions/upload-artifact@v2
with:
name: installer-${{runner.os}}
path: toolchain\release\CEdev${{env.EXE}}
47 changes: 0 additions & 47 deletions .travis.yml

This file was deleted.

69 changes: 0 additions & 69 deletions appveyor.yml

This file was deleted.

2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CE C Programming Toolchain/SDK [![Build Status](https://api.travis-ci.org/CE-Programming/toolchain.svg?branch=master)](https://travis-ci.org/CE-Programming/toolchain) [![Build Status](https://ci.appveyor.com/api/projects/status/github/CE-Programming/toolchain?branch=master&svg=true)](https://ci.appveyor.com/project/adriweb/toolchain) [![IRC badge](https://img.shields.io/badge/IRC%20channel-%23ez80--dev%20on%20EFNet-blue.svg)](http://chat.efnet.org/irc.cgi?adv=1&nick=ce-dev&chan=%23ez80-dev)
# CE C Programming Toolchain/SDK [![Build Status](https://github.com/CE-Programming/toolchain/workflows/Win/Mac/Linux/badge.svg?branch=llvm)](https://github.com/CE-Programming/toolchain/actions?query=workflow%3AWin%2FMac%2FLinux) [![IRC badge](https://img.shields.io/badge/IRC%20channel-%23ez80--dev%20on%20EFNet-blue.svg)](http://chat.efnet.org/irc.cgi?adv=1&nick=ce-dev&chan=%23ez80-dev)

The CE C Software Development Kit incorporates a wide variety of tools and documentation in order to build programs in C natively for the TI-84 Plus CE / TI-83 Premium CE calculators series.

Expand Down

0 comments on commit 98d091f

Please sign in to comment.