53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
name: Deploy to FTP
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: node:20
|
|
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Inject commit SHA
|
|
run: |
|
|
echo "${{ env.GITHUB_SHA }}" > version.sha
|
|
|
|
- name: Create latest.zip
|
|
run: |
|
|
set -e
|
|
# ensure a small staging dir for upload (absolute path so later cd won't affect it)
|
|
mkdir -p "$GITHUB_WORKSPACE/dist/"
|
|
# install zip utility (container may not have it)
|
|
apt-get update && apt-get install -y zip
|
|
# create latest.zip containing the assets directory (so zip root contains 'assets/')
|
|
cd app/src/main
|
|
zip -r "$GITHUB_WORKSPACE/latest.zip" assets
|
|
# move zip into the workspace dist so the FTP action can upload just that file
|
|
mv "$GITHUB_WORKSPACE/latest.zip" "$GITHUB_WORKSPACE/dist/"
|
|
|
|
- name: Upload latest.zip via FTP to releases
|
|
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
|
|
with:
|
|
server: ${{ secrets.FTP_HOST }}
|
|
username: ${{ secrets.FTP_USER }}
|
|
password: ${{ secrets.FTP_PASS }}
|
|
local-dir: /dist/
|
|
server-dir: /releases/
|
|
|
|
- name: Upload via FTP
|
|
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
|
|
with:
|
|
server: ${{ secrets.FTP_HOST }}
|
|
username: ${{ secrets.FTP_USER }}
|
|
password: ${{ secrets.FTP_PASS }}
|
|
local-dir: app/src/main/assets/
|
|
server-dir: /
|
|
|