diff --git a/.github/workflows/gitea-release.yml b/.github/workflows/gitea-release.yml index 5499211..7be4cdb 100644 --- a/.github/workflows/gitea-release.yml +++ b/.github/workflows/gitea-release.yml @@ -15,10 +15,16 @@ on: FTP_HOST: description: 'FTP Host for firmware upload' required: true + outputs: + version: + description: 'The version that was released' + value: ${{ jobs.create-release.outputs.version }} jobs: create-release: runs-on: ubuntu-latest + outputs: + version: ${{ steps.get_version.outputs.VERSION }} steps: - uses: actions/checkout@v4 with: @@ -212,6 +218,13 @@ jobs: - name: Install 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 if: success() env: @@ -220,13 +233,24 @@ jobs: FTP_HOST: ${{ secrets.FTP_HOST }} VERSION: ${{ steps.get_version.outputs.VERSION }} 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 - lftp -c "set ssl:verify-certificate no; \ - set ftp:ssl-protect-data true; \ - set ftp:ssl-force true; \ - set ssl:check-hostname false; \ - set ftp:ssl-auth TLS; \ - open -u ${{ secrets.FTP_USER }},${{ secrets.FTP_PASSWORD }} ${{ secrets.FTP_HOST }}; \ - put -O / filaman_full_${{ steps.get_version.outputs.VERSION }}.bin -o filaman_full.bin" \ No newline at end of file + if [ -n "$FTP_USER" ] && [ -n "$FTP_PASSWORD" ] && [ -n "$FTP_HOST" ]; then + echo "All FTP credentials are present, attempting upload..." + lftp -c "set ssl:verify-certificate no; \ + set ftp:ssl-protect-data true; \ + set ftp:ssl-force true; \ + set ssl:check-hostname false; \ + 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 \ No newline at end of file