Skip to content

Wordfence CLI build #10

Wordfence CLI build

Wordfence CLI build #10

Workflow file for this run

name: "Wordfence CLI build"
on:
#push:
# tags:
# - "v*.*.*"
# Allows running the workflow manually
workflow_dispatch:
inputs:
jobs:
linux_standalone_build:
name: Linux standalone build
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- arch: amd64
- arch: arm64
steps:
- name: Checkout
uses: actions/checkout@v3
# Set up QEMU to support additional platforms
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Docker build
run: |
docker build \
-t wfcli-build \
--platform "linux/${{ matrix.arch }}" \
-f "${GITHUB_WORKSPACE}/docker/build/Dockerfile" \
"$GITHUB_WORKSPACE"
- name: Docker run
run: |
docker run \
--name "wfcli-build-container" \
--platform "linux/${{ matrix.arch }}" \
-v "${GITHUB_WORKSPACE}/docker/build/volumes/output/:/opt/output" \
-v "${GITHUB_WORKSPACE}/docker/build/volumes/debian/:/opt/debian" \
wfcli-build
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: wordfence_cli_${{ matrix.arch }}
path: |
${{ github.workspace }}/docker/build/volumes/output/wordfence_*.tar.gz
${{ github.workspace }}/docker/build/volumes/output/wordfence_*.tar.gz.sha256
python_build:
name: Python build
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install requirements
run: |
pip install --upgrade pip
pip install -r requirements.txt
- name: Python build
run: python -m build
- name: Create checksums
run: |
VERSION=$(python setup.py --version)
cd dist
sha256sum *.tar.gz *.whl > "wordfence-${VERSION}.sha256"
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: wordfence_cli_python
path: |
${{ github.workspace }}/dist/*.tar.gz
${{ github.workspace }}/dist/*.whl
${{ github.workspace }}/dist/*.sha256