Nightly builds
Dieses Issue hat noch niemand übernommen.
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
Premise: We would like to distribute builds of Processing with upcoming features for people to try out without those features necessarily being included in the latest builds of Processing.
One thing that was already suggested before is we could manage these features as a build step, so that they can be included into the main branch without being necessarily activated
My suggestion for feature control would be: we add a gradle.properties to the repo and add subsequently it to the .gitignore, this will provide a template for the file that then can be freely modified by anyone building the project from scratch. We can also create gradle.nightly.properties or something similarly named, that will enable features on the nightly builds but not in the main build. In this way you could activate the feature on a build system level by checking the property:
if(property("includeExamples") == "true"){
create("examples"){
java{
srcDirs("examples")
}
}
}
For feature control in the code we could grab all the Gradle properties defined starting with processing.feature and pass them through to the rest of the code. This would mean we could activate them with the following:
static private String ExampleFeatureActive = Boolean.parseBoolean(System.getProperty("processing.feature.example", "false"));
The nice thing is that the gradle.properties are also easily modifiable within the Github Actions:
name: Build with Gradle
run: ./gradlew publish
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_IN_MEMORY_KEY }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_IN_MEMORY_KEY_PASSWORD }}
ORG_GRADLE_PROJECT_version: ${{ needs.version.outputs.version }}
ORG_GRADLE_PROJECT_group: ${{ vars.GRADLE_GROUP }}
One challenge that I see with nightly builds is keeping track of revision numbers and versioning.
Right now any time a new release of Processing is created, we manually set the revision number and version, the Github actions responsible for those expect that in the format processing-$revision-$version and this is parsed to set those variables into the gradle build system.
We could either start creating versions with a tag to it, e.g. processing-1501-4.10.1-nightly and just increase the build tag every time. But we would run out of revision tags rather soon and I suspect it might be hardcoded into multiple placed to be 4 digits.
Finally we would need to update the website to ignore build released with any arbitrary tags so that only major versions would be shown within the website.
Lets discuss!
@catilac @SableRaf @tychedelia
- Vorherrschende Sprache
- Java
- Sterne
- 497
- Forks
- 183
- Ø Merge
- 4 Std. 39 Min.
- Gemergte PRs (30 T.)
- 3
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus processing/processing4
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
processing/processing4#1554 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
processing/processing4#1515 · 1 Reaktion ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
processing/processing4#1573 ·
-
startup error Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
processing/processing4#1569 · 7 Kommentare ·
-
Binaries under bin directory lack executable permissions for the snap and .deb packages for Linux Offenbug
processing/processing4#1567 · 3 Kommentare · 1 Reaktion · 1 zugewiesene Person ·
Alle Issues in processing/processing4
Ähnliche Issues
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Offenarea/plugin
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
apache/rocketmq-dashboard#5064 ·
-
Consent portal: creating a duplicate Purpose shows a generic error instead of "already exists" Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
wso2/dpdp-accelerator#287 ·