Skip to content

Commit 0008e32

Browse files
committed
Use Github Actions.
1 parent 2fe4ff7 commit 0008e32

File tree

4 files changed

+146
-117
lines changed

4 files changed

+146
-117
lines changed

.github/workflows/make.yml

+145
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
name: Win/Mac/Linux
2+
3+
on:
4+
push:
5+
branches:
6+
- llvm
7+
pull_request:
8+
branches:
9+
- llvm
10+
11+
jobs:
12+
build:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
runs-on: [ubuntu-latest, macos-latest, windows-latest]
17+
runs-on: ${{matrix.runs-on}}
18+
steps:
19+
- name: Prepare Build Environment
20+
run: |
21+
cmake -E echo ::set-env name=ROM::84pce_515_53.rom
22+
cmake -E echo ::set-env name=CEDEV::${{github.workspace}}/CEdev
23+
cmake -E echo ::add-path::${{github.workspace}}/CEdev/bin
24+
cmake -E echo ::add-path::${{github.workspace}}/CEmu/tests/autotester
25+
- name: Prepare Build Environment
26+
if: runner.os == 'Windows'
27+
run: |
28+
cmake -E echo ::set-env name=EXE::.exe
29+
cmake -E echo ::set-env name=ENV::env:
30+
31+
- name: Install Build Dependencies
32+
if: runner.os == 'Linux'
33+
run: sudo apt-get install -y doxygen
34+
- name: Install Build Dependencies
35+
if: runner.os == 'macOS'
36+
run: brew install doxygen
37+
38+
- name: Download ez80-clang
39+
id: ez80-clang
40+
uses: carlosperate/[email protected]
41+
with:
42+
file-url: https://jacobly.com/llvm/ez80-clang${{env.EXE}}-${{runner.os}}Release.zip
43+
- name: Extract ez80-clang
44+
uses: DuckSoft/[email protected]
45+
with:
46+
pathSource: ${{steps.ez80-clang.outputs.file-path}}
47+
pathTarget: CEdev/bin
48+
- name: Make ez80-clang Executable
49+
if: runner.os != 'Windows'
50+
run: chmod +x CEdev/bin/ez80-clang${{env.EXE}}
51+
- name: Test ez80-clang
52+
run: ez80-clang --version
53+
54+
- name: Checkout Toolchain
55+
uses: actions/checkout@v2
56+
with:
57+
path: toolchain
58+
submodules: recursive
59+
60+
- name: Build Toolchain
61+
run: make -j4 -C toolchain
62+
- name: Install Toolchain
63+
env:
64+
PREFIX: ${{github.workspace}}
65+
run: make -j4 -C toolchain install release release-libs
66+
- name: Build Examples
67+
run: make -j4 -C ${{env.CEDEV}}/examples
68+
69+
- name: Checkout CEmu
70+
uses: actions/checkout@v2
71+
with:
72+
repository: CE-Programming/CEmu
73+
ref: latest-stable
74+
path: CEmu
75+
76+
- name: Build CEmu
77+
run: make -j4 -C CEmu/core
78+
- name: Build Autotester CLI
79+
run: make -j4 -C CEmu/tests/autotester
80+
81+
- name: Download Secrets
82+
id: download-secrets
83+
uses: carlosperate/[email protected]
84+
with:
85+
file-url: https://jacobly.com/CE-Programming/secrets
86+
location: secrets
87+
- name: Decrypt Secrets
88+
env:
89+
KEY: ${{secrets.SYMMETRIC_KEY_256}}
90+
run: openssl enc -d -aes-256-cbc -iv d0583d991fcb6c3b05fb8eabc7421fb8 -K "$${{env.ENV}}KEY" -in ${{steps.download-secrets.outputs.file-path}} -out secrets/secrets.7z
91+
- name: Extract Secrets
92+
uses: DuckSoft/[email protected]
93+
with:
94+
pathSource: secrets/secrets.7z
95+
pathTarget: secrets
96+
97+
- name: Test examples
98+
if: runner.os != 'Windows'
99+
env:
100+
AUTOTESTER_LIBS_DIR: ${{github.workspace}}/toolchain/clibraries
101+
AUTOTESTER_ROM: ${{github.workspace}}/secrets/${{env.ROM}}
102+
run: |
103+
failed=0
104+
for test in ${{env.CEDEV}}/examples/*/*/autotest.json; do
105+
cmake -E echo "Launching autotester on $test"
106+
autotester "$test"
107+
cmake -E true $((failed += $?))
108+
done
109+
exit $failed
110+
- name: Test examples
111+
if: runner.os == 'Windows'
112+
env:
113+
AUTOTESTER_LIBS_DIR: ${{github.workspace}}\toolchain\clibraries
114+
AUTOTESTER_ROM: ${{github.workspace}}\secrets\${{env.ROM}}
115+
run: |
116+
$failed = 0
117+
foreach ($test in "${{env.CEDEV}}\examples\*\*\autotest.json") {
118+
cmake -E echo "Launching autotester on $test"
119+
autotester "$test"
120+
$failed += $?
121+
}
122+
Exit $failed
123+
124+
- name: Remove Secrets
125+
if: always()
126+
run: cmake -E rm -rf secrets
127+
128+
- name: Upload CEdev
129+
uses: actions/upload-artifact@v2
130+
with:
131+
name: CEdev-${{runner.os}}
132+
path: CEdev
133+
134+
- name: Upload Libraries
135+
uses: actions/upload-artifact@v2
136+
with:
137+
name: clibraries
138+
path: toolchain/clibraries
139+
140+
- name: Upload Windows Installer
141+
if: runner.os == 'Windows'
142+
uses: actions/upload-artifact@v2
143+
with:
144+
name: ${{runner.os}}
145+
path: toolchain\release

.travis.yml

-47
This file was deleted.

appveyor.yml

-69
This file was deleted.

readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 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)
1+
# 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)
22

33
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.
44

0 commit comments

Comments
 (0)