diff --git a/.github/workflows/rust_parallel_release.yml b/.github/workflows/rust_parallel_release.yml new file mode 100644 index 0000000..face1cb --- /dev/null +++ b/.github/workflows/rust_parallel_release.yml @@ -0,0 +1,168 @@ +on: + push: + tags: v[0-9].[0-9]+.[0-9]+ + workflow_dispatch: + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CARGO_TERM_COLOR: always + +name: Create release + +jobs: + get_version: + name: Get version from Git tag + runs-on: ubuntu-latest + outputs: + project_version: ${{ env.VERSION }} + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Getting version + #run: echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + run: echo "VERSION=0.0.1" >> $GITHUB_ENV + + create_release: + name: Create Release + runs-on: ubuntu-latest + needs: get_version + outputs: + upload_url: ${{ steps.create_release.outputs.upload_url }} + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VERSION: ${{ needs.get_version.outputs.project_version }} + with: + tag_name: ${{ env.VERSION }} + release_name: ${{ env.VERSION }} + body: | + ## A new version + * Various fixes and stability improvements. + draft: true + prerelease: false + + linux-nogui: + name: Create and upload builds + needs: [ create_release, get_version ] + runs-on: ubuntu-latest + strategy: + matrix: + arch: [ amd64, i686, mips, mipsel, armhf, arm64 ] + defaults: + run: + shell: bash + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: install dependencies + if: contains(matrix.os, 'ubuntu') + run: | + sudo apt update && sudo apt upgrade && sudo apt install libwebkit2gtk-4.0-dev upx + cargo install cross + + - name: Build and package deb packages + if: contains(matrix.os, 'ubuntu') + run: PKGARCH=${{ matrix.arch }} contrib/deb/generate.sh + + - name: Upload bins & debs + if: contains(matrix.os, 'ubuntu') + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + tag_name="${{ needs.get_version.outputs.project_version }}" + hub release edit $(find ./bin -type f -name "alfis-*" -printf "-a %p ") -m "" "$tag_name" + hub release edit $(find . -type f -name "*.deb" -printf "-a %p ") -m "" "$tag_name" + + build-and-upload-gui-zips: + name: Create and upload builds + needs: [ create_release, get_version ] + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ windows-latest, ubuntu-latest, macOS-latest ] + + defaults: + run: + shell: bash + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: install dependencies + if: contains(matrix.os, 'ubuntu') + run: sudo apt update && apt upgrade && sudo apt install libwebkit2gtk-4.0-dev upx + + - name: Build release binaries + run: cargo build --release + + - name: Build Windows release binaries with Edge web-engine + if: contains(matrix.os, 'windows') + run: cargo build --release --features "edge" --target-dir edge + + - name: windows + if: contains(matrix.os, 'windows') + run: | + echo "BIN_ARCH=windows-amd64" >> $GITHUB_ENV + echo "BIN_ARCH_EDGE=windows-amd64-edge" >> $GITHUB_ENV + + - name: linux + if: contains(matrix.os, 'ubuntu') + run: echo "BIN_ARCH=linux-amd64" >> $GITHUB_ENV + + - name: macos + if: contains(matrix.os, 'mac') + run: echo "BIN_ARCH=darwin-amd64" >> $GITHUB_ENV + + - name: Fill variables + run: | + echo "BIN_PATH=./target/release/alfis" >> $GITHUB_ENV + echo "ZIP_NAME=alfis-${{env.BIN_ARCH}}-${{ needs.get_version.outputs.project_version }}.zip" >> $GITHUB_ENV + - name: Windows variables + if: contains(matrix.os, 'windows') + run: | + echo "BIN_PATH=target/release/alfis.exe" >> $GITHUB_ENV + echo "ZIP_NAME=alfis-${{env.BIN_ARCH}}-${{ needs.get_version.outputs.project_version }}.zip" >> $GITHUB_ENV + echo "BIN_PATH_EDGE=edge/release/alfis.exe" >> $GITHUB_ENV + echo "ZIP_NAME_EDGE=alfis-${{env.BIN_ARCH}}-${{ needs.get_version.outputs.project_version }}-edge.zip" >> $GITHUB_ENV + + - name: Packaging + uses: papeloto/action-zip@v1 + with: + files: ${{ env.BIN_PATH }} alfis.toml README.md LICENSE adblock.txt + dest: ${{ env.ZIP_NAME }} + + - name: Packaging Edge binary + if: contains(matrix.os, 'windows') + uses: papeloto/action-zip@v1 + with: + files: ${{ env.BIN_PATH_EDGE }} alfis.toml README.md LICENSE adblock.txt + dest: ${{ env.ZIP_NAME_EDGE }} + + - name: Upload zip + id: upload-zip + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.make_release.outputs.upload_url }} + asset_path: ${{ env.ZIP_NAME }} + asset_name: ${{ env.ZIP_NAME }} + asset_content_type: application/zip + + - name: Upload Edge binary + if: contains(matrix.os, 'windows') + id: upload-edge-binary + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.make_release.outputs.upload_url }} + asset_path: ${{ env.ZIP_NAME_EDGE }} + asset_name: ${{ env.ZIP_NAME_EDGE }} + asset_content_type: application/zip diff --git a/src/webview/index.html b/src/webview/index.html index f76575e..17f2f29 100644 --- a/src/webview/index.html +++ b/src/webview/index.html @@ -132,7 +132,7 @@
- +