diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..305a11a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,87 @@ +name: build + +on: + push: + paths-ignore: + - README.md + - LICENSE + branches: [master, dev] + + pull_request: + paths-ignore: + - README.md + - LICENSE + branches: [master] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Install build dependencies (apt) + run: | + sudo apt install libx11-dev libxcursor-dev libpng-dev + continue-on-error: false + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - uses: actions/cache@v2 + id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + - uses: actions/setup-node@v1 + with: + node-version: "12.x" + - run: yarn install + - run: yarn render + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: "3.x" + + - name: Cache pip dependencies + uses: actions/cache@v2 + with: + # This path is specific to Ubuntu + path: ~/.cache/pip + # Look to see if there is a cache hit for the corresponding requirements file + key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + ${{ runner.os }}- + + - name: Install pip dependencies + run: | + python -m pip install --upgrade pip + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + continue-on-error: false + + - name: Generating `macOS Big Sur` Cursor Theme + run: python build.py + + - name: Uploading `bitmaps` artifact + uses: actions/upload-artifact@v2 + with: + name: bitmaps + path: bitmaps/* + + - name: Uploading `macOS Big Sur` X11 artifact + uses: actions/upload-artifact@v2 + with: + name: macOS Big Sur + path: packages/macOSBigSur.tar + + - name: Uploading `macOS Big Sur` Windows artifact + uses: actions/upload-artifact@v2 + with: + name: macOS Big Sur Windows + path: packages/macOSBigSur_Windows.zip