fix: enhance FTP upload workflow with credential checks and version output
This commit is contained in:
parent
975845421b
commit
b14dd5475d
42
.github/workflows/gitea-release.yml
vendored
42
.github/workflows/gitea-release.yml
vendored
@ -15,10 +15,16 @@ on:
|
|||||||
FTP_HOST:
|
FTP_HOST:
|
||||||
description: 'FTP Host for firmware upload'
|
description: 'FTP Host for firmware upload'
|
||||||
required: true
|
required: true
|
||||||
|
outputs:
|
||||||
|
version:
|
||||||
|
description: 'The version that was released'
|
||||||
|
value: ${{ jobs.create-release.outputs.version }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-release:
|
create-release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
version: ${{ steps.get_version.outputs.VERSION }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@ -212,6 +218,13 @@ jobs:
|
|||||||
- name: Install lftp
|
- name: Install lftp
|
||||||
run: sudo apt-get install -y lftp
|
run: sudo apt-get install -y lftp
|
||||||
|
|
||||||
|
- name: Debug Secrets
|
||||||
|
run: |
|
||||||
|
echo "Check if secrets are defined:"
|
||||||
|
if [ -n "${{ secrets.FTP_USER }}" ]; then echo "FTP_USER is defined"; else echo "FTP_USER is empty"; fi
|
||||||
|
if [ -n "${{ secrets.FTP_PASSWORD }}" ]; then echo "FTP_PASSWORD is defined"; else echo "FTP_PASSWORD is empty"; fi
|
||||||
|
if [ -n "${{ secrets.FTP_HOST }}" ]; then echo "FTP_HOST is defined"; else echo "FTP_HOST is empty"; fi
|
||||||
|
|
||||||
- name: Upload Firmware via FTP
|
- name: Upload Firmware via FTP
|
||||||
if: success()
|
if: success()
|
||||||
env:
|
env:
|
||||||
@ -220,13 +233,24 @@ jobs:
|
|||||||
FTP_HOST: ${{ secrets.FTP_HOST }}
|
FTP_HOST: ${{ secrets.FTP_HOST }}
|
||||||
VERSION: ${{ steps.get_version.outputs.VERSION }}
|
VERSION: ${{ steps.get_version.outputs.VERSION }}
|
||||||
run: |
|
run: |
|
||||||
echo ${{ secrets.FTP_USER }}
|
echo "Environment variables:"
|
||||||
|
env | grep -E '^FTP_' | while read -r line; do
|
||||||
|
var_name=$(echo "$line" | cut -d= -f1)
|
||||||
|
var_value=$(echo "$line" | cut -d= -f2-)
|
||||||
|
echo "$var_name is $(if [ -n "$var_value" ]; then echo "set"; else echo "empty"; fi)"
|
||||||
|
done
|
||||||
|
|
||||||
cd .pio/build/esp32dev
|
cd .pio/build/esp32dev
|
||||||
lftp -c "set ssl:verify-certificate no; \
|
if [ -n "$FTP_USER" ] && [ -n "$FTP_PASSWORD" ] && [ -n "$FTP_HOST" ]; then
|
||||||
set ftp:ssl-protect-data true; \
|
echo "All FTP credentials are present, attempting upload..."
|
||||||
set ftp:ssl-force true; \
|
lftp -c "set ssl:verify-certificate no; \
|
||||||
set ssl:check-hostname false; \
|
set ftp:ssl-protect-data true; \
|
||||||
set ftp:ssl-auth TLS; \
|
set ftp:ssl-force true; \
|
||||||
open -u ${{ secrets.FTP_USER }},${{ secrets.FTP_PASSWORD }} ${{ secrets.FTP_HOST }}; \
|
set ssl:check-hostname false; \
|
||||||
put -O / filaman_full_${{ steps.get_version.outputs.VERSION }}.bin -o filaman_full.bin"
|
set ftp:ssl-auth TLS; \
|
||||||
|
open -u $FTP_USER,$FTP_PASSWORD $FTP_HOST; \
|
||||||
|
put -O / filaman_full_${VERSION}.bin -o filaman_full.bin"
|
||||||
|
else
|
||||||
|
echo "Error: Some FTP credentials are missing"
|
||||||
|
exit 1
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user