.github/workflows/checkstyle-linux.yml
name: Haxe-Checkstyle Linux
on:
push:
branches:
- dev
pull_request:
branches:
- dev
schedule:
- cron: '15 23 * * *'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
haxe-version: ['4.3.4', 'nightly']
env:
CC_TEST_REPORTER_ID: c4eda639526d39fbcab7ab9fc68c4046d4e597df56dbcb552b42d27b3580b758
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js 18
uses: actions/setup-node@v4
with:
node-version: 18
- name: Installing codeclimate client
if: matrix.haxe-version == 'nightly'
run: |
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
./cc-test-reporter before-build
- name: Run npm install
run: |
npm ci
npm i -g lix
- name: Install Haxe version ${{ matrix.haxe-version }}
run: |
npx lix download haxe ${{ matrix.haxe-version }}
npx lix use haxe ${{ matrix.haxe-version }}
- name: Run lix download
run: npx lix download
- name: Print versions
run: |
npx haxe -version
npx neko -version
npx haxelib list
- name: Build hxcpp binary
run: |
cd ~/haxe/haxe_libraries/hxcpp/4.2.0/github/96f5f9a69744e5fd07717e5af9d5b45bd3a8890a/
npx haxelib dev hxcpp .
cd tools/hxcpp
npx haxe compile.hxml
- name: Build neko versions
run: |
npx haxe build.hxml
npx haxe buildDebug.hxml
- name: Build NodeJs version
run: |
npx haxe buildJS.hxml
bash uglifyCheckstyle.sh
- name: Build C++ version
run: echo "y" | npx haxe buildCpp.hxml
- name: Build JSON schema
run: npx haxe buildSchema.hxml
- name: Run eval tests
run: npx haxe -D codecov_json testAndResources.hxml
- name: Run JVM tests
run: npx haxe testJava.hxml
- name: Format and upload codeclimate coverage
if: success() && matrix.haxe-version == 'nightly'
run: |
( \
cd src; \
../cc-test-reporter format-coverage -t lcov ../lcov.info; \
../cc-test-reporter upload-coverage; \
)
# - name: Checkstyle report annotations
# if: success()
# uses: jwgmeligmeyling/checkstyle-github-action@master
# with:
# path: '**/check-style-report.xml'
- name: Upload results to codecov
if: success() && (matrix.haxe-version == 'nightly')
run: bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"