From 286122d4925ddec0d656b77ebd0bf8ca929f594e Mon Sep 17 00:00:00 2001 From: eyedeekay Date: Thu, 7 Mar 2024 12:52:19 -0500 Subject: [PATCH] see about doing releases in CI --- .github/workflows/release.yml | 245 ++++++++++++++++++ config.sh | 2 +- i2p.plugins.firefox.torrent | Bin 6051 -> 3285 bytes preprelease.sh | 2 +- scripts/build.number | 4 +- .../plugin/plugin/I2PBrowserPlugin.java | 35 ++- 6 files changed, 279 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..a2903aa --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,245 @@ +name: Release + +on: + push: + # Sequence of patterns matched against refs/tags + tags: + - '*.*.*' # Release 1.2.3 + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: dependencies + run: sudo apt install gettext golang-go git ant + - uses: actions/checkout@v4 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + - name : Generate override.properties + run: | + rm -f override.properties + echo "build.built-by=GitHub Actions" >> override.properties + echo "noExe=true" >> override.properties + - name: install crx3 + run: go install github.com/mediabuyerbot/go-crx3/crx3@latest + - name: install dzip + run: go install github.com/delicb/dzip@latest + - name: install amo-version + run: go install github.com/eyedeekay/amo-version@a4f4119eac453a14d6b6184b656320eb72b5da3c + - name: install manifest-json-version + run: go install github.com/eyedeekay/manifest-json-version@latest + - run: git clone https://github.com/i2p/i2p.i2p ../i2p.i2p + - run: cd ../i2p.i2p && ant builddep + - name: build with Ant + run: | + export PATH=$PATH:$(go env GOPATH)/bin + ant distclean jpackage debian + - name: Upload Firefox Profile Strict + uses: actions/upload-artifact@v4 + with: + name: i2p.firefox.base.profile-${{ github.sha }}.zip + path: ./src/i2p.firefox.base.profile.zip + - name: Upload Firefox Profile Usability + uses: actions/upload-artifact@v4 + with: + name: i2p.firefox.usability.profile-${{ github.sha }}.zip + path: ./src/i2p.firefox.usability.profile.zip + - name: Upload Chromium Profile Strict + uses: actions/upload-artifact@v4 + with: + name: i2p.chromium.base.profile-${{ github.sha }}.zip + path: ./src/i2p.chromium.base.profile.zip + - name: Upload Chromium Profile Usability + uses: actions/upload-artifact@v4 + with: + name: i2p.chromium.usability.profile-${{ github.sha }}.zip + path: ./src/i2p.chromium.usability.profile.zip + - name: Upload i2pfirefox.jar + uses: actions/upload-artifact@v4 + with: + name: i2pfirefox-${{ github.sha }}.jar + path: ./src/build/i2pfirefox.jar + - name: Upload i2pfirefox-plugin.jar + uses: actions/upload-artifact@v4 + with: + name: i2pfirefox-plugin-${{ github.sha }}.jar + path: ./src/build/i2pfirefox-plugin.jar + - name: Upload i2pbrowser.tar.gz + uses: actions/upload-artifact@v4 + with: + name: i2pbrowser-${{ github.sha }}.tar.gz + path: ./i2pbrowser.tar.gz + - name: Upload i2pbrowser.deb + uses: actions/upload-artifact@v4 + with: + name: i2pbrowser_${{ github.sha }}_amd64.deb + path: ./i2pbrowser_1.0.0_amd64.deb + - name: build plugin with Ant + run: | + export PATH=$PATH:$(go env GOPATH)/bin + ant distclean pluginzip + - name: Upload i2pfirefox.zip (unsigned plugin) + uses: actions/upload-artifact@v4 + with: + name: i2pfirefox-${{ github.sha }}.zip + path: ./plugin.zip + - name: Run release upload script + run: | + ./preprelease.sh + ./release.sh + + + buildrpm: + runs-on: ubuntu-latest + container: fedora + + steps: + - name: dependencies + run: sudo yum install -y gettext golang-go git ant jq wget curl gpg xz ca-certificates rpm-build + - uses: actions/checkout@v4 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + - run: echo [Adoptium] >> /etc/yum.repos.d/adoptium.repo + - run: echo name=Adoptium >> /etc/yum.repos.d/adoptium.repo + - run: . /etc/os-release; echo baseurl=https://packages.adoptium.net/artifactory/rpm/fedora/$VERSION_ID/x86_64/ >> /etc/yum.repos.d/adoptium.repo + - run: echo enabled=1 >> /etc/yum.repos.d/adoptium.repo + - run: echo gpgcheck=1 >> /etc/yum.repos.d/adoptium.repo + - run: echo gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public >> /etc/yum.repos.d/adoptium.repo + - run: dnf clean all && rm -r /var/cache/dnf && dnf upgrade -y && dnf update -y + - run: dnf install -y temurin-21-jdk + - name: Generate override.properties + run: | + rm -f override.properties + echo "build.built-by=GitHub Actions" >> override.properties + echo "noExe=true" >> override.properties + - name: install crx3 + run: go install github.com/mediabuyerbot/go-crx3/crx3@latest + - name: install dzip + run: go install github.com/delicb/dzip@latest + - name: install amo-version + run: go install github.com/eyedeekay/amo-version@a4f4119eac453a14d6b6184b656320eb72b5da3c + - name: install manifest-json-version + run: go install github.com/eyedeekay/manifest-json-version@latest + - run: git clone https://github.com/i2p/i2p.i2p ../i2p.i2p + - run: cd ../i2p.i2p && ant builddep + - name: build with Ant + run: | + export PATH=$PATH:$(go env GOPATH)/bin + ant distclean jpackage fedora + find . -name '*.rpm' + - name: Upload i2pbrowser.rpm + uses: actions/upload-artifact@v4 + with: + name: i2pbrowser-${{ github.sha }}.x86_64.rpm + path: ./i2pbrowser-1.0.0-1.x86_64.rpm + + + buildwin: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + - uses: actions/setup-go@v5 + with: + go-version: '1.21' + - name : Generate override.properties + run: | + bash -c 'rm -f override.properties' + bash -c 'echo "build.built-by=GitHub Actions" >> override.properties' + bash -c 'echo "noExe=true" >> override.properties' + - name: install crx3 + run: go install github.com/mediabuyerbot/go-crx3/crx3@latest + - name: install dzip + run: go install github.com/delicb/dzip@latest + - name: install amo-version + run: go install github.com/eyedeekay/amo-version@a4f4119eac453a14d6b6184b656320eb72b5da3c + - name: install manifest-json-version + run: go install github.com/eyedeekay/manifest-json-version@latest + - run: git clone https://github.com/i2p/i2p.i2p ../i2p.i2p + - run: cd ../i2p.i2p && ant builddep + - name: build exe with Ant + run: | + ant windows + bash -c 'ls *.exe' + - name: Upload Firefox Profile EXE Installer + uses: actions/upload-artifact@v4 + with: + name: i2pbrowser-1.0.0-${{ github.sha }}.exe + path: ./i2pbrowser-1.0.0.exe + - name: build msi with Ant + run: | + ant windows-msi + bash -c 'ls *.msi' + - name: Upload Firefox Profile MSI Installer + uses: actions/upload-artifact@v4 + with: + name: i2pbrowser-1.0.0-${{ github.sha }}.msi + path: ./i2pbrowser-1.0.0.msi + - name: build portable zip with Ant + run: | + ant windows-portable + bash -c 'ls *.zip' + - name: Upload Firefox Profile Portable Zip + uses: actions/upload-artifact@v4 + with: + name: i2pbrowser-portable-${{ github.sha }}.zip + path: ./i2pbrowser-portable.zip + + buildmac: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + - uses: actions/setup-go@v5 + with: + go-version: '1.21' + - name : Generate override.properties + run: | + bash -c 'rm -f override.properties' + bash -c 'echo "build.built-by=GitHub Actions" >> override.properties' + bash -c 'echo "noExe=true" >> override.properties' + - name: install crx3 + run: go install github.com/mediabuyerbot/go-crx3/crx3@latest + - name: install dzip + run: go install github.com/delicb/dzip@latest + - name: install amo-version + run: go install github.com/eyedeekay/amo-version@a4f4119eac453a14d6b6184b656320eb72b5da3c + - name: install manifest-json-version + run: go install github.com/eyedeekay/manifest-json-version@latest + - run: git clone https://github.com/i2p/i2p.i2p ../i2p.i2p + - run: cd ../i2p.i2p && ant builddep + - name: build dmg with Ant + run: | + ant macos + bash -c 'ls *.dmg' + - name: Upload Firefox Profile DMG Installer + uses: actions/upload-artifact@v4 + with: + name: i2pbrowser-1.0.0-${{ github.sha }}.dmg + path: ./i2pbrowser-1.0.0.dmg + - name: build pkg with Ant + run: | + ant macos-pkg + bash -c 'ls *.pkg' + - name: Upload Firefox Profile PKG Installer + uses: actions/upload-artifact@v4 + with: + name: i2pbrowser-1.0.0-${{ github.sha }}.pkg + path: ./i2pbrowser-1.0.0.pkg \ No newline at end of file diff --git a/config.sh b/config.sh index 2461f96..503a970 100755 --- a/config.sh +++ b/config.sh @@ -3,4 +3,4 @@ export GITHUB_USER=eyedeekay export GITHUB_REPO=i2p.plugins.firefox export GITHUB_NAME="Updates extensions, plugin support temporarily removed(Stay on the old version)" export GITHUB_DESCRIPTION=$(cat CHANGES.md VERSION.md) -export GITHUB_TAG=1.3.0 \ No newline at end of file +export GITHUB_TAG=1.3.1 \ No newline at end of file diff --git a/i2p.plugins.firefox.torrent b/i2p.plugins.firefox.torrent index 32ec2ed1e8649dea2c34159a3e91053e237f095d..bd29aa4bb29368632a98690ffbe2c705e78bc8f2 100644 GIT binary patch delta 2790 zcmVP5{p(W|cTN65b*WP2;Eul1A zbgfi9;l&mtLn`VTbdn6%ew#mBA7{t1Kf+`F!}iz^_-h?D^^Y<0vx)}0pJl!0tBcyx zVI8{Vl%5JEk$FZV+;&Y|xP^bXQf$nC15cQ1bw)2hT`IPhg981?b1;8D^gU7P=HgT= zVYrR{i9$N7ouRha(q@@Nl(Rtu*zIu){U;g1V2>M)wCP(n_jXfS^hlXYLjtHj14FDI zfcdS+x0G-O65Aji#9deQUm&e0@6ZW}%u8G@YCGVF+NoDqU}`C-9GQO+Dcy*)hjKw@ zd=SvK)^|%QK%`VBtYddQ6}o=KF5%-h1$X`sm_&XvSl%wR7D~|Uf7td?-fN4j zAZbs>2eTVR)(PR&ovZEEQwOkPfN-&lX18MzH97G0@~j`SZ8KbvR9MVY0xUCmpLcw(e+@p5 z2Zdlp!CaE`0g|8o?%LY<%KX$~x}&r%LuXEZ7<-Dp4^0oSZkHF@>e=9@E>fV}c zU~Ud>biSkNqT63sHf7!{aMo1-Vd*92T8V&|Xq@>0`ZHGaC3yXhE25dM{*c3G)e?cG zp@LYg#iT8|ZTRSqCs7^W?nsbcw>0lC2(DP~f%2s^oJ7j=*2nUKf?tj!oF+c{+)%ty?r z;W9~~&4tG*JS|_Sl-q?;OtRM~l5N;M!Ky^>zc3GV-Cvoi3U0$(l8}zsKJwo;?=}v- zr<2bZil~2XS{6zdubLqCwEcTj9OYwOyg%G~-MluBOt zfr;J@4|$2`18|B2^yt&u(0=*+3^%tXgc*Ab+vEun;b76n;o!)j={!sD_7 zPXB-WkYe&xF(bgo^7t+9AARafM(-^yKX|7lX535|KVp1GWV+OG)>$j#2)(WKZquD& zdALyn3|Dj0SH40ExGGK88;4D8pY&s{&ymmACYB-*TM=1X;kW(!dAn4k z2J^R)AJy1+zaZY(p!f$m@4U#M*;4tIOuT>Nk+UWIE6CL=znau0fx55DYG+DHlXX&+ zorpF?bCAs%V#XQd3ybdGJ^2x+>K7o&*iJKYr_O*_I27v71#=w4Uh_`HBA%F1P1su# ztid9o_%x*TaVC{8+W_xfM-_e8Vdi91ZT;q$6q$vgOYOz32p^=2w+TP|Sg_Z-o#TJR z`fzE{0x#W<`@`E_j!ME|al%W+I|g0}Bu6iNbchZqu3-->|mQ)C>>ko`v0QeRw|u;f6>njd4ydZz%42-#%TD{>D97LC11$6y}K+ z>ia9`<6$3g%n4AUh90os75#sI($IrB@PjzNc?cV^*;gfI z?a9V1>79m>12Mxvk7#*T9 z^k;W#NpGTfY~~r7FyO5g&gqvUWVXY8?{VaQ9+0u~8x=P7rTuiL@(X`nN6VDGkn_7M zNwQ%Ejy>-HAf>ku|A5=0&L4|0(aefq{;hGvA-n0#Qn3SqgG*diI9{?^*sRp*w88C9 zxi^_oH;6a553yY23R9>C?T&z9j1}XD4W3*;MvL?F<|*L#JEe_PQLib~P`9jlPMR>L zRtEfMs@aK+??Gn>u?2r-5RrdGrr6A9t88S`hZT>3c7w=t{Cb#gQ27TmAnZSR@omFo z0IO^`%Vdrb_D_Tz?_)sKMDn1#FA@h&!O25nxc)LR5kAoMMfJ z%CAg^*;<9oryL_Um#IZc2wH8Xske^J;g`<|opd`nxuEOa& z#$9gn-BJ}#L?Bf7v-B_$17YMu=|tMQ+zh@I-TmrlouL|KunZ# zEx~ir>`dD)f^ctOfGpt#vR1$4`PX=T>k(fwT&BnZq^vuSYlHM65c7@;XIr0w8AB2C zOG!KgF^iNK@M7<+uCX*a&6_|ee;sl$%kg=rx@DFfuR!03YXtgad9_No5V0FE1i0DC z$q@RUjVOOnu1vv}w+o%8sR<#0PIld-i!3kT_6k}PMV}00LZJ_j5+R$@KNmeM*#v=y65XbrkFi|D`iP_pEX}M z(X1HZ@Hq)$ delta 5593 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 nR`Na0|g" build.xml edgar && git push --all -ant distclean versionMd jar plugin torrent freeZip jpackage debian fedora tarball +ant distclean versionMd jar plugin torrent freeZip jpackage debian tarball diff --git a/scripts/build.number b/scripts/build.number index c831c6c..b10043d 100644 --- a/scripts/build.number +++ b/scripts/build.number @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Thu Mar 07 11:33:56 EST 2024 -build.number=700 +#Thu Mar 07 12:01:15 EST 2024 +build.number=707 diff --git a/src/plugin/net/i2p/i2pfirefox/plugin/plugin/I2PBrowserPlugin.java b/src/plugin/net/i2p/i2pfirefox/plugin/plugin/I2PBrowserPlugin.java index 2440f4c..1103292 100644 --- a/src/plugin/net/i2p/i2pfirefox/plugin/plugin/I2PBrowserPlugin.java +++ b/src/plugin/net/i2p/i2pfirefox/plugin/plugin/I2PBrowserPlugin.java @@ -42,7 +42,8 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp { private static final String PROP_DTG_ENABLED = "desktopgui.enabled"; private final File pluginDir; private final File profileDir; - private MenuHandle lmh; + private MenuHandle lmhs; + private MenuHandle lmhf; public I2PBrowserPlugin() { _context = new I2PAppContext(); _mgr = null; @@ -74,7 +75,8 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp { } catch (InterruptedException ie) { } if (dtg != null) { - dtg.removeMenu(lmh); + dtg.removeMenu(lmhs); + dtg.removeMenu(lmhf); } } changeState(ClientAppState.STOPPED); @@ -101,9 +103,12 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp { } if (dtg != null) { _log.info("I2P Browser integrating with I2P tray manager"); - lmh = dtg.addMenu("Launch I2P Browser", new Starter(dtg)); - dtg.showMenu(lmh); - dtg.enableMenu(lmh); + lmhs = dtg.addMenu("Launch I2P Browser (Safe Mode)", new Starter(dtg)); + dtg.showMenu(lmhs); + dtg.enableMenu(lmhs); + lmhf = dtg.addMenu("Launch I2P Browser (Flexible Mode)", new FlexStarter(dtg)); + dtg.showMenu(lmhf); + dtg.enableMenu(lmhf); } else { _log.info("I2P Browser tray manager not found"); } @@ -174,6 +179,26 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp { } } + public class FlexStarter implements MenuCallback { + private final MenuService _ms; + public Starter(MenuService ms) { _ms = ms; } + public void clicked(MenuHandle menu) { + // Thread t = new I2PAppThread(new StarterThread(), + //"I2PBrowser-Launcher start", true); + // t.start(); + _log.info("I2P Browser starting up"); + try { + I2PBrowser i2pBrowser = new I2PBrowser(profileDir.getAbsolutePath()); + i2pBrowser.usability = true; + String[] args = {"http://proxy.i2p"}; + i2pBrowser.launchFirefox(0, args); + } catch (Exception e) { + _log.error("Error starting I2P Browser", e); + } + _log.info("I2P Browser ran"); + } + } + public class StarterThread implements Runnable { public void run() { _log.info("I2P Browser starting up");