Skip to content

Build and and deploy DSF packages #92

Build and and deploy DSF packages

Build and and deploy DSF packages #92

Workflow file for this run

name: Build and and deploy DSF packages
on:
workflow_dispatch:
inputs:
target:
description: "Deployment target"
required: true
default: "dev"
type: choice
options:
- dev
- unstable-3.5
- stable-3.5
jobs:
build:
runs-on: ubuntu-22.04
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
# Install NodeJS environment
- name: Set up NodeJS
uses: actions/setup-node@v3
with:
node-version: 16
# Install .NET environment
- name: Set up .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6
# Install required tools
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y dpkg-sig libxml2-utils
# Import GPG key for package signing
- name: Configure GPG key
run: |
echo -n "$GPG_SIGNING_KEY" | base64 --decode | gpg --import
env:
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
# Build DSF
- name: Build DSF packages
run: |
cd pkg
./build.sh --signing-key=C406404B2459FE0B1C6CC19D3738126EDA91C86B --target-arch=armhf --dest-dir=./out
./build.sh --signing-key=C406404B2459FE0B1C6CC19D3738126EDA91C86B --target-arch=arm64 --dest-dir=./out
# Upload armhf packages to pkg.duet3d.com
- name: Upload package files
uses: Creepios/sftp-action@v1.0.5
with:
host: pkg.duet3d.com
port: 22
username: ${{ secrets.PKG_SSH_USER }}
password: ${{ secrets.PKG_SSH_PASS }}
privateKey: ${{ secrets.PKG_SSH_KEY }}
localPath: ./pkg/out
remotePath: /var/www/pkg/dists/${{ inputs.target }}/armv7
# Upload armhf packages to pkg.duet3d.com (main stable feed)
- name: Upload package files to the main stable feed
if: startsWith(inputs.target, 'stable')
uses: Creepios/sftp-action@v1.0.5
with:
host: pkg.duet3d.com
port: 22
username: ${{ secrets.PKG_SSH_USER }}
password: ${{ secrets.PKG_SSH_PASS }}
privateKey: ${{ secrets.PKG_SSH_KEY }}
localPath: ./pkg/out
remotePath: /var/www/pkg/dists/stable/armv7
# Upload armhf packages to pkg.duet3d.com (main unstable feed)
- name: Upload package files to the main unstable feed
if: startsWith(inputs.target, 'unstable')
uses: Creepios/sftp-action@v1.0.5
with:
host: pkg.duet3d.com
port: 22
username: ${{ secrets.PKG_SSH_USER }}
password: ${{ secrets.PKG_SSH_PASS }}
privateKey: ${{ secrets.PKG_SSH_KEY }}
localPath: ./pkg/out
remotePath: /var/www/pkg/dists/unstable/armv7
# Refresh package lists if the dev target is selected
- name: Refresh package lists
if: inputs.target == 'dev'
uses: appleboy/ssh-action@v0.1.7
with:
host: pkg.duet3d.com
username: ${{ secrets.PKG_SSH_USER }}
key: ${{ secrets.PKG_SSH_KEY }}
script: update-pkg-feed dev