Compare commits
	
		
			49 Commits
		
	
	
		
			v1.3.11
			...
			36d50cbe7f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 36d50cbe7f | |||
| 9148d207c7 | |||
| 5f6fef9448 | |||
| 946202de0e | |||
| 41a3717347 | |||
| 255c820439 | |||
| aef3ba77ba | |||
| 2592c3a497 | |||
| a48c5dfef0 | |||
| 00554d0b09 | |||
| 05a91cd8d8 | |||
| 7cf113eaff | |||
| 44d27adab2 | |||
| e0a2dff5fe | |||
| 519a089684 | |||
| ef053bb2b6 | |||
| 0a91c7b269 | |||
| 875d9d2b70 | |||
| 52840b9b0b | |||
| da1fc7678f | |||
| 982bb5aa21 | |||
| 007737db13 | |||
| 17e5949201 | |||
| 6a57186091 | |||
| babd3f47a0 | |||
| 5372fe10fe | |||
| e0c9d90892 | |||
| e5f5d1961b | |||
| 31a960fb9e | |||
| 3c2e75b77a | |||
| 367143c456 | |||
| fbde4b764f | |||
| e57f4216d4 | |||
| b8beb992d6 | |||
| 4234b2254e | |||
| b8faf79163 | |||
| d35afaff46 | |||
| a8a00372b5 | |||
| 72f4eab588 | |||
| afa4eddc00 | |||
| b0888e7e63 | |||
| 238a84a8a2 | |||
| 59cc00ca13 | |||
| ab083f5f57 | |||
| c111573206 | |||
| 52b2494e52 | |||
| 069ec2d7a1 | |||
| 94e35ae86e | |||
| d71e3d8184 | 
							
								
								
									
										88
									
								
								.github/workflows/gitea-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										88
									
								
								.github/workflows/gitea-release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -34,10 +34,10 @@ jobs: | ||||
|         pio run -t buildfs | ||||
|          | ||||
|         # Copy firmware binary | ||||
|         cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/filaman_${VERSION}.bin | ||||
|         cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/upgrade_filaman_firmware_v${VERSION}.bin | ||||
|          | ||||
|         # Create SPIFFS binary | ||||
|         cp .pio/build/esp32dev/spiffs.bin .pio/build/esp32dev/webpage_${VERSION}.bin | ||||
|         cp .pio/build/esp32dev/spiffs.bin .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin | ||||
|          | ||||
|         # Create full binary | ||||
|         (cd .pio/build/esp32dev &&  | ||||
| @@ -71,19 +71,93 @@ jobs: | ||||
|         echo "$CHANGELOG" >> $GITHUB_OUTPUT | ||||
|         echo "EOF" >> $GITHUB_OUTPUT | ||||
|  | ||||
|     - name: Create Gitea Release | ||||
|     - name: Determine Gitea URL | ||||
|       id: gitea_url | ||||
|       run: | | ||||
|         echo "Debug Environment:" | ||||
|         echo "GITHUB_SERVER_URL=${GITHUB_SERVER_URL:-not set}" | ||||
|         echo "GITEA_SERVER_URL=${GITEA_SERVER_URL:-not set}" | ||||
|         echo "GITHUB_REPOSITORY=${GITHUB_REPOSITORY:-not set}" | ||||
|         echo "GITEA_REPOSITORY=${GITEA_REPOSITORY:-not set}" | ||||
|         echo "RUNNER_NAME=${RUNNER_NAME:-not set}" | ||||
|          | ||||
|         # Set API URL based on environment | ||||
|         if [ -n "${GITEA_ACTIONS}" ] || [ -n "${GITEA_REPOSITORY}" ] || [[ "${RUNNER_NAME}" == *"gitea"* ]]; then | ||||
|           GITEA_API_URL="${GITHUB_SERVER_URL}" | ||||
|           GITEA_REPO=$(echo "${GITHUB_REPOSITORY}" | cut -d'/' -f2) | ||||
|           GITEA_OWNER=$(echo "${GITHUB_REPOSITORY}" | cut -d'/' -f1) | ||||
|         else | ||||
|           echo "Error: This workflow is only for Gitea" | ||||
|           exit 1 | ||||
|         fi | ||||
|          | ||||
|         echo "GITEA_API_URL=${GITEA_API_URL}" >> $GITHUB_OUTPUT | ||||
|         echo "GITEA_REPO=${GITEA_REPO}" >> $GITHUB_OUTPUT | ||||
|         echo "GITEA_OWNER=${GITEA_OWNER}" >> $GITHUB_OUTPUT | ||||
|  | ||||
|     - name: Create Gitea Release | ||||
|       env: | ||||
|         GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} | ||||
|         GITEA_API_URL: ${{ steps.gitea_url.outputs.GITEA_API_URL }} | ||||
|         GITEA_REPO: ${{ steps.gitea_url.outputs.GITEA_REPO }} | ||||
|         GITEA_OWNER: ${{ steps.gitea_url.outputs.GITEA_OWNER }} | ||||
|       run: | | ||||
|         # Debug Token (nur Länge ausgeben für Sicherheit) | ||||
|         echo "Debug: Token length: ${#GITEA_TOKEN}" | ||||
|         if [ -z "$GITEA_TOKEN" ]; then | ||||
|           echo "Error: GITEA_TOKEN is empty" | ||||
|           exit 1 | ||||
|         fi | ||||
|  | ||||
|         VERSION=${{ steps.get_version.outputs.VERSION }} | ||||
|         cd .pio/build/esp32dev | ||||
|          | ||||
|         # Debug-Ausgaben | ||||
|         echo "Debug: API URL: ${GITEA_API_URL}" | ||||
|         echo "Debug: Repository: ${GITEA_OWNER}/${GITEA_REPO}" | ||||
|          | ||||
|         # Prepare files for upload | ||||
|         FILES="" | ||||
|         for file in filaman_${VERSION}.bin webpage_${VERSION}.bin filaman_full_${VERSION}.bin; do | ||||
|         for file in upgrade_filaman_firmware_v${VERSION}.bin upgrade_filaman_website_v${VERSION}.bin filaman_full_${VERSION}.bin; do | ||||
|           if [ -f "$file" ]; then | ||||
|             FILES="$FILES -a $file" | ||||
|             echo "Debug: Found file: $file" | ||||
|           fi | ||||
|         done | ||||
|  | ||||
|         # Test API connection with explicit token header | ||||
|         echo "Debug: Testing API connection..." | ||||
|         TEST_RESPONSE=$(curl -s -w "\n%{http_code}" \ | ||||
|           -H "Authorization: token ${GITEA_TOKEN}" \ | ||||
|           "${GITEA_API_URL}/api/v1/version") | ||||
|         TEST_STATUS=$(echo "$TEST_RESPONSE" | tail -n1) | ||||
|         if [ "$TEST_STATUS" != "200" ]; then | ||||
|           echo "Error: Cannot connect to Gitea API" | ||||
|           echo "Response: $TEST_RESPONSE" | ||||
|           exit 1 | ||||
|         fi | ||||
|  | ||||
|         # Create release using API | ||||
|         echo "Debug: Creating release..." | ||||
|         RELEASE_DATA="{ | ||||
|           \"tag_name\": \"v${VERSION}\", | ||||
|           \"name\": \"v${VERSION}\", | ||||
|           \"body\": \"${{ steps.changelog.outputs.CHANGES }}\" | ||||
|         }" | ||||
|  | ||||
|         # Create release with explicit token header | ||||
|         RESPONSE=$(curl -s -w "\n%{http_code}" \ | ||||
|           -X POST \ | ||||
|           -H "Authorization: token ${GITEA_TOKEN}" \ | ||||
|           -H "Content-Type: application/json" \ | ||||
|           -d "$RELEASE_DATA" \ | ||||
|           "${GITEA_API_URL}/api/v1/repos/${GITEA_OWNER}/${GITEA_REPO}/releases") | ||||
|          | ||||
|         # Create release using git command | ||||
|         git tag -a "v${VERSION}" -m "Release ${VERSION}" | ||||
|         git push origin "v${VERSION}" | ||||
|         HTTP_STATUS=$(echo "$RESPONSE" | tail -n1) | ||||
|         RESPONSE_BODY=$(echo "$RESPONSE" | head -n -1) | ||||
|  | ||||
|         echo "Debug: HTTP Status: $HTTP_STATUS" | ||||
|         if [ "$HTTP_STATUS" != "201" ]; then | ||||
|           echo "Error: Failed to create release" | ||||
|           echo "Response: $RESPONSE_BODY" | ||||
|           exit 1 | ||||
							
								
								
									
										29
									
								
								.github/workflows/github-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								.github/workflows/github-release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -2,14 +2,23 @@ name: GitHub Release | ||||
|  | ||||
| on: | ||||
|   workflow_call: | ||||
|     secrets: | ||||
|       RELEASE_TOKEN: | ||||
|         description: 'GitHub token for release creation' | ||||
|         required: true | ||||
|  | ||||
| permissions: | ||||
|   contents: write | ||||
|  | ||||
| jobs: | ||||
|   create-release: | ||||
|     runs-on: ubuntu-latest | ||||
|     #permissions: | ||||
|     #  contents: write | ||||
|     permissions: | ||||
|       contents: write | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|       with: | ||||
|         fetch-depth: 0 | ||||
|      | ||||
|     - name: Set up Python | ||||
|       uses: actions/setup-python@v4 | ||||
| @@ -58,10 +67,10 @@ jobs: | ||||
|         pio run -t buildfs | ||||
|          | ||||
|         # Copy firmware binary | ||||
|         cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/filaman_${VERSION}.bin | ||||
|         cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/upgrade_filaman_firmware_v${VERSION}.bin | ||||
|          | ||||
|         # Always create SPIFFS binary | ||||
|         cp .pio/build/esp32dev/spiffs.bin .pio/build/esp32dev/webpage_${VERSION}.bin | ||||
|         cp .pio/build/esp32dev/spiffs.bin .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin | ||||
|          | ||||
|         # Create full binary (always) | ||||
|         (cd .pio/build/esp32dev &&  | ||||
| @@ -97,22 +106,22 @@ jobs: | ||||
|  | ||||
|     - name: Create GitHub Release | ||||
|       env: | ||||
|         GH_TOKEN: ${{ github.token }} | ||||
|         GH_TOKEN: ${{ secrets.RELEASE_TOKEN }} | ||||
|       run: | | ||||
|         VERSION=${{ steps.get_version.outputs.VERSION }} | ||||
|         cd .pio/build/esp32dev | ||||
|          | ||||
|         # Create release with available files | ||||
|         cd .pio/build/esp32dev | ||||
|         FILES_TO_UPLOAD="" | ||||
|          | ||||
|         # Always add firmware | ||||
|         if [ -f "filaman_${VERSION}.bin" ]; then | ||||
|           FILES_TO_UPLOAD="$FILES_TO_UPLOAD filaman_${VERSION}.bin" | ||||
|         if [ -f "upgrade_filaman_firmware_v${VERSION}.bin" ]; then | ||||
|           FILES_TO_UPLOAD="$FILES_TO_UPLOAD upgrade_filaman_firmware_v${VERSION}.bin" | ||||
|         fi | ||||
|          | ||||
|         # Add SPIFFS and full binary only if they exist | ||||
|         if [ -f "webpage_${VERSION}.bin" ]; then | ||||
|           FILES_TO_UPLOAD="$FILES_TO_UPLOAD webpage_${VERSION}.bin" | ||||
|         if [ -f "upgrade_filaman_website_v${VERSION}.bin" ]; then | ||||
|           FILES_TO_UPLOAD="$FILES_TO_UPLOAD upgrade_filaman_website_v${VERSION}.bin" | ||||
|         fi | ||||
|          | ||||
|         if [ -f "filaman_full_${VERSION}.bin" ]; then | ||||
|   | ||||
							
								
								
									
										7
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -5,6 +5,9 @@ on: | ||||
|     tags: | ||||
|       - 'v*' | ||||
|  | ||||
| permissions: | ||||
|   contents: write | ||||
|  | ||||
| jobs: | ||||
|   detect-provider: | ||||
|     runs-on: ubuntu-latest | ||||
| @@ -23,8 +26,12 @@ jobs: | ||||
|  | ||||
|   github-release: | ||||
|     needs: detect-provider | ||||
|     permissions: | ||||
|       contents: write | ||||
|     if: needs.detect-provider.outputs.provider == 'github' | ||||
|     uses: ./.github/workflows/github-release.yml | ||||
|     secrets: | ||||
|       RELEASE_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
|   gitea-release: | ||||
|     needs: detect-provider | ||||
|   | ||||
							
								
								
									
										111
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,5 +1,116 @@ | ||||
| # Changelog | ||||
|  | ||||
| ## [1.3.26] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.26 | ||||
|  | ||||
| ### Fixed | ||||
| - workflow: improve Gitea release workflow with enhanced error handling and debug outputs | ||||
|  | ||||
|  | ||||
| ## [1.3.25] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.25 | ||||
| - workflow: update Gitea release workflow to include RUNNER_NAME and improve error handling | ||||
|  | ||||
|  | ||||
| ## [1.3.24] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.24 | ||||
| - workflow: rename update files to upgrade in GitHub release workflow | ||||
| - workflow: aktualisiere bestehende Einträge im Changelog für vorhandene Versionen | ||||
|  | ||||
| ### Fixed | ||||
| - workflow: improve Gitea release process with dynamic URL determination and debug outputs | ||||
|  | ||||
|  | ||||
| ## [1.3.23] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.23 | ||||
|  | ||||
| ### Fixed | ||||
| - workflow: enhance Gitea release process with debug outputs and API connection checks | ||||
|  | ||||
|  | ||||
| ## [1.3.22] - 2025-02-21 | ||||
| ### Added | ||||
| - workflow: improve Gitea release process with additional environment variables and error handling | ||||
|  | ||||
| ### Changed | ||||
| - update webpages for version v1.3.22 | ||||
|  | ||||
|  | ||||
| ## [1.3.21] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.21 | ||||
| - workflow: enhance Gitea release process with API integration and token management | ||||
|  | ||||
|  | ||||
| ## [1.3.20] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.20 | ||||
| - workflow: enable git tagging and pushing for Gitea releases | ||||
|  | ||||
|  | ||||
| ## [1.3.19] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.19 | ||||
| - workflow: enable git push for version tagging in Gitea release | ||||
|  | ||||
|  | ||||
| ## [1.3.18] - 2025-02-21 | ||||
| ### Changed | ||||
| - ACHTUNG: Installiere einmal das filaman_full.bin danach kannst du über die upgrade Files aktualisieren und deine Settings bleiben auch erhalten. | ||||
| - ATTENTION: Install the filaman_full.bin once, then you can update via the upgrade files and your settings will also be retained. | ||||
|  | ||||
|  | ||||
|  | ||||
| ## [1.3.18] - 2025-02-21 | ||||
| ### Added | ||||
| - add note about filaman_full.bin installation in changelog | ||||
|  | ||||
| ### Changed | ||||
| - update webpages for version v1.3.18 | ||||
| - update changelog for version 1.3.18 and enhance update script for existing entries | ||||
|  | ||||
| ## [1.3.17] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.17 | ||||
| - ci: comment out git tag and push commands in gitea-release workflow | ||||
|  | ||||
|  | ||||
| ## [1.3.16] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.16 | ||||
| - ci: update filenames for firmware and website binaries in release workflows | ||||
|  | ||||
|  | ||||
| ## [1.3.15] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.15 | ||||
|  | ||||
| ### Fixed | ||||
| - ci: fix missing 'fi' in GitHub release workflow script | ||||
|  | ||||
|  | ||||
| ## [1.3.14] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.14 | ||||
| - ci: update GitHub release workflow to improve file upload handling | ||||
|  | ||||
|  | ||||
| ## [1.3.13] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.13 | ||||
| - ci: update GitHub release workflow to use RELEASE_TOKEN for improved security | ||||
|  | ||||
|  | ||||
| ## [1.3.12] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.12 | ||||
| - ci: enhance GitHub release workflow with token handling and file upload improvements | ||||
|  | ||||
|  | ||||
| ## [1.3.11] - 2025-02-21 | ||||
| ### Changed | ||||
| - update webpages for version v1.3.11 | ||||
|   | ||||
| @@ -9,7 +9,9 @@ | ||||
| ; https://docs.platformio.org/page/projectconf.html | ||||
|  | ||||
| [common] | ||||
| version = "1.3.11" | ||||
| version = "1.3.26" | ||||
|  | ||||
| #test | ||||
|  | ||||
| [env:esp32dev] | ||||
| platform = espressif32 | ||||
|   | ||||
| @@ -122,7 +122,29 @@ def update_changelog(): | ||||
|                 f.write(updated_content) | ||||
|             push_changes(version) | ||||
|         else: | ||||
|             print(f"Version {version} already exists in changelog") | ||||
|             # Version existiert bereits, aktualisiere die bestehenden Einträge | ||||
|             version_pattern = f"## \\[{version}\\] - \\d{{4}}-\\d{{2}}-\\d{{2}}" | ||||
|             next_version_pattern = "## \\[.*?\\] - \\d{4}-\\d{2}-\\d{2}" | ||||
|              | ||||
|             # Finde den Start der aktuellen Version | ||||
|             version_match = re.search(version_pattern, content) | ||||
|             if version_match: | ||||
|                 version_start = version_match.start() | ||||
|                 # Suche nach der nächsten Version | ||||
|                 next_version_match = re.search(next_version_pattern, content[version_start + 1:]) | ||||
|                  | ||||
|                 if next_version_match: | ||||
|                     # Ersetze den Inhalt zwischen aktueller und nächster Version | ||||
|                     next_version_pos = version_start + 1 + next_version_match.start() | ||||
|                     updated_content = content[:version_start] + changelog_entry + content[next_version_pos:] | ||||
|                 else: | ||||
|                     # Wenn keine nächste Version existiert, ersetze bis zum Ende | ||||
|                     updated_content = content[:version_start] + changelog_entry + "\n" | ||||
|                  | ||||
|                 with open(changelog_path, 'w') as f: | ||||
|                     f.write(updated_content) | ||||
|                 push_changes(version) | ||||
|                 print(f"Updated entries for version {version}") | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     update_changelog() | ||||
		Reference in New Issue
	
	Block a user