Update build-freebsd-package.yml #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build FreeBSD Executable for WebSSH | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout WebSSH repository | |
uses: actions/checkout@v2 | |
with: | |
repository: 'huashengdun/webssh' | |
path: 'webssh' | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
cd webssh | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
pip install pyinstaller | |
- name: Install qemu-user-static | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y qemu-user-static | |
- name: Pull and run FreeBSD image | |
run: | | |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
docker pull toxchat/freebsd:latest | |
docker run --rm -v ${{ github.workspace }}/webssh:/workspace -w /workspace \ | |
kwiat/freebsd:latest \ | |
sh -c "ASSUME_ALWAYS_YES=yes pkg bootstrap && \ | |
pkg update && pkg install -y python3 py39-pip && \ | |
pip install -r requirements.txt && \ | |
pip install pyinstaller && \ | |
pyinstaller --onefile webssh/__main__.py --name webssh" | |
- name: Upload artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: webssh-freebsd | |
path: webssh/dist/webssh |