From 54f592f14c56de3967caecbd0e5b314deec042dc Mon Sep 17 00:00:00 2001 From: Kevin Leung Date: Fri, 14 May 2021 21:29:25 +0800 Subject: [PATCH] Setup GitHub Actions --- .github/workflows/ci.yml | 96 +++++++++++++++++++++++++++++ .travis.yml => .travis.yml.disabled | 0 2 files changed, 96 insertions(+) create mode 100644 .github/workflows/ci.yml rename .travis.yml => .travis.yml.disabled (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..6f569f1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,96 @@ +name: CI + +on: + push: + pull_request: + branches: [ master ] + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + haxe-version: + - "3.4.7" + - stable + - nightly + target: + - node + + steps: + - name: Check out repo + uses: actions/checkout@v2 + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - name: Cache Yarn + uses: actions/cache@v1 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + - name: Cache Haxe + uses: actions/cache@v1 + with: + path: ~/haxe + key: haxe + + - name: Install Lix + uses: lix-pm/setup-lix@master + + - name: Install Haxe + run: lix install haxe ${{ matrix.haxe-version }} + + - name: Install Haxe Libraries + run: lix download + + - name: Run Test + run: lix run travix ${{ matrix.target }} + + release: + runs-on: ubuntu-latest + needs: test + if: startsWith(github.ref, 'refs/tags/') # consider using the "release" event. see: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#release + + steps: + - name: Check out repo + uses: actions/checkout@v2 + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - name: Cache Yarn + uses: actions/cache@v1 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + - name: Cache Haxe + uses: actions/cache@v1 + with: + path: ~/haxe + key: haxe + + - name: Install Lix + uses: lix-pm/setup-lix@master + + - name: Install Haxe + run: lix install haxe stable + + - name: Install Haxe Libraries + run: lix download + + - name: Release to Haxelib + run: lix run travix release + env: + HAXELIB_AUTH: ${{ secrets.HAXELIB_AUTH }} + \ No newline at end of file diff --git a/.travis.yml b/.travis.yml.disabled similarity index 100% rename from .travis.yml rename to .travis.yml.disabled