Skip to content

Build binary for device #123

Build binary for device

Build binary for device #123

Workflow file for this run

name: build
on:
pull_request:
branches:
- main
push:
branches:
- main
defaults:
run:
shell: bash
jobs:
remote:
name: Build for ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.8'
cache: 'pip'
- name: Build codexctl
run: |
pip install wheel
pip install -r requirements.remote.txt
pip install nuitka
mkdir -p dist
python -m nuitka \
--enable-plugin=pylint-warnings \
--onefile \
--lto=yes \
--assume-yes-for-downloads \
--remove-output \
--output-dir=dist \
codexctl.py
- uses: actions/upload-artifact@v3
with:
name: ${{ matrix.os }}
path: dist
if-no-files-found: error
device:
name: Build for remarkable
runs-on: ubuntu-latest
steps:
- name: Checkout the rM-docker repository
uses: actions/checkout@v4
with:
repository: timower/rM-docker
path: rm-docker
fetch-depth: 1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build rm-docker:qemu-toltec-codexctl image
run: |
cp -lr scripts rm-docker
mv rm-docker/Dockerfile rm-docker/Dockerfile.in
sed '
/#insert=rm-docker\/Dockerfile/r rm-docker/Dockerfile.in
/#insert=rm-docker\/Dockerfile/d
' Dockerfile.in > rm-docker/Dockerfile
docker buildx build \
--tag rm-docker:qemu-toltec \
--target qemu-toltec-codexctl \
--cache-from type=gha \
--cache-to type=gha \
--load \
--build-arg fw_version=2.15.1 \
rm-docker
- name: Build codexctl
run: |
docker run --rm -v ./codexctl:/src rm-docker:qemu-toltec-codexctl
- uses: actions/upload-artifact@v3
with:
name: remarkable
path: codexctl/dist
if-no-files-found: error
release:
name: Release
needs: [remote,device]
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
permissions:
contents: write
steps:
- name: Set current date as env variable
run: |
echo "NAME=$(date +'%Y-%m-%d %H:%M')" >> $GITHUB_ENV
echo "TAG=$(date +%s)" >> $GITHUB_ENV
- uses: actions/download-artifact@v3
with:
path: artifacts
- name: Rename artifacts
run: |
ls artifacts | while read artifact; do
pushd artifacts/${artifact}
zip -r ../${artifact}.zip .
popd
done
- uses: ncipollo/release-action@v1
with:
artifacts: "artifacts/*.zip"
name: ${{ env.NAME }}
tag: ${{ env.TAG }}
commit: ${{ github.sha }}
generateReleaseNotes: true
makeLatest: true