name: Release on: workflow_dispatch: inputs: release_version: description: 'Release version' required: true type: string pishrink: description: 'pishrink Script' default: 'https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh' type: string z_compress_args: description: '7z compress args' default: '7z a -t7z -mx=9' type: string jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 # - name: Set VERSION variable # run: | # VERSION=$(awk '/__version__ /{print $NF}' ./pwnagotchi/_version.py | tr -d "'") # env: # VERSION: ${{ steps.set-version.outputs.version }} # Use the extracted version - name: Show Version run: | # Use the $VERSION variable in your build or deployment steps echo "Using VERSION: ${{ inputs.release_version }}" - name: Set _version.py correctly using the env variable run: | sed -i "s#.*__version__.*#__version__='$PWN_VERSION'#" pwnagotchi/_version.py env: PWN_VERSION: ${{ inputs.release_version }} - name: Install language dependencies run: sudo apt-get install -y gettext - name: Languages run: make langs - name: Image run: make image env: PWN_VERSION: ${{ inputs.release_version }} - name: Shrink Image run: | ls -a -s -h wget ${{ inputs.pishrink }} chmod +x pishrink.sh sudo mv pishrink.sh /usr/local/bin sudo pishrink.sh ./pwnagotchi-${{ inputs.release_version }}.img - uses: edgarrc/action-7z@v1 with: args: ${{ inputs.z_compress_args }} pwnagotchi-${{ inputs.release_version }}.7z ./pwnagotchi-${{ inputs.release_version }}.img - name: sha256sum 7z run: | sudo sha256sum ./pwnagotchi-${{ inputs.release_version }}.7z > ./pwnagotchi-${{ inputs.release_version }}.sha256 - name: Create GitHub Release id: create_new_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ inputs.release_version }} release_name: Release ${{ inputs.release_version }} - name: Upload GitHub Release sha uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_new_release.outputs.upload_url }} asset_path: ./pwnagotchi-${{ inputs.release_version }}.sha256 asset_name: pwnagotchi-v${{ inputs.release_version }}.sha256 asset_content_type: appliction/text - name: Upload GitHub Release Zip uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_new_release.outputs.upload_url }} asset_path: ./pwnagotchi-${{ inputs.release_version }}.7z asset_name: pwnagotchi-v${{ inputs.release_version }}.7z asset_content_type: appliction/zip