vaadin / form-filler-addon

Other
4 stars 0 forks source link

feat: making developer build/use cleaner (changes in the pom.xml: make development profile default and add jetty:run as well as goal, remove production profile) #129

Closed czp13 closed 1 year ago

czp13 commented 1 year ago

Description

Mikhail had some very good proposals on what we should change in pom.xml affecting the developer flow:

With these changes, only mvn command is enough to run the addon (and the setup environment variables). This works like a charm as I commented on the above PR.

Relevant PR:

Type of change

Checklist

Additional for Feature type of change

czp13 commented 1 year ago

The build now running the application/server, so it is pending forever in Step 3 maven install (mvn clean install Step) image

And eventually it timing out:

[09:48:05 ](https://teamcity.vaadin.com/buildConfiguration/Flow_FormFillerAddon/200808?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=200808_3562_3562&logView=flowAware)  [INFO] Scan interval sec = 1
[13:06:49 ](https://teamcity.vaadin.com/buildConfiguration/Flow_FormFillerAddon/200808?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=200808_3563_3563&logView=flowAware)  The build Vaadin Flow::Form Filler Addon #83 {buildId=200808} has been running for more than 200 minutes. Terminating...
[13:06:05 ](https://teamcity.vaadin.com/buildConfiguration/Flow_FormFillerAddon/200808?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=200808_3564_3564&logView=flowAware)  Execution timeout
[13:06:49 ](https://teamcity.vaadin.com/buildConfiguration/Flow_FormFillerAddon/200808?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=200808_3565_3565&logView=flowAware)  Stopping build on agent. Reason: build execution timeout
[13:06:50 ](https://teamcity.vaadin.com/buildConfiguration/Flow_FormFillerAddon/200808?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=200808_3567_3567&logView=flowAware)  PID: 3062, PPID: 2221, Command line: /usr/lib/jvm/jdk-17.0.2/bin/java -Dagent.home.dir=/opt/agent -Dagent.name=TVC-Agent-06 -Dagent.ownPort=9090 -Dagent.work.dir=/opt/agent/work -Dbuild.number=83 -Dbuild.vcs.number=7edd58e11f3c34c93c435cc86b577a33e91d48a8 -Dbuild.vcs.number.1=7edd58e11f3c34c93c435cc86b577a33e91d48a8 -Dbuild.vcs.number.Flow_FormFillerAddon=7edd58e11f3c34c93c435cc86b577a33e91d48a8 -Dclassworlds.conf=/opt/agent/temp/buildTmp/teamcity.m2.conf -Dcom.jetbrains.maven.watcher.report.file=/opt/agent/temp/buildTmp/maven-build-info.xml -Dec2.ami-id=ami-db7544ac -Dec2.ami-launch-index=1 -Dec2.ami-manifest-path=(unknown) -Dec2.instance-id=i-091e62af09ef55be4 -Dec2.instance-type=c5.xlarge -Dec2.local-hostname=ip-172-16-1-48.eu-west-1.compute.internal -Dec2.local-ipv4=172.16.1.48 -Dec2.public-hostname=ec2-18-203-87-75.eu-west-1.compute.amazonaws.com -Dec2.public-ipv4=18.203.87.75 -Dec2.reservation-id=r-0419543e9224f6276 -Djava.io.tmpdir=/opt/agent/temp/buildTmp -Dmaven.home=/opt/agent/tools/maven.3.8.4 -Dmaven.multiModuleProjectDirectory=/opt/agent/work/71354c1e470ca731 -Dteamcity.agent.cpuBenchmark=658 -Dteamcity.agent.dotnet.agent_url=http://localhost:9090/RPC2 -Dteamcity.agent.dotnet.build_id=200808 -Dteamcity.agent.ensure.free.space=10gb -Dteamcity.auth.password=******* -Dteamcity.auth.userId=TeamCityBuildId=200808 -Dteamcity.build.changedFiles.file=/opt/agent/temp/buildTmp/teamcity.changedFiles.txt -Dteamcity.build.checkoutDir=/opt/agent/work/71354c1e470ca731 -Dteamcity.build.id=200808 -Dteamcity.build.properties.file=/opt/agent/temp/buildTmp/teamcity.build.parameters -Dteamcity.build.tempDir=/opt/agent/temp/buildTmp -Dteamcity.build.workingDir=/opt/agent/work/71354c1e470ca731 -Dteamcity.buildConfName=Form Filler Addon -Dteamcity.buildType.id=Flow_FormFillerAddon -Dteamcity.configuration.properties.file=/opt/agent/temp/buildTmp/teamcity.config.parameters -Dteamcity.maven.watcher.home=/opt/agent/plugins/mavenPlugin/maven-watcher-jdk17 -Dteamcity.projectName=Vaadin Flow -Dteamcity.runner.properties.file=/opt/agent/temp/buildTmp/teamcity.runner.parameters -Dteamcity.tests.recentlyFailedTests.file=/opt/agent/temp/buildTmp/teamcity.testsToRunFirst.txt -Dteamcity.version=2022.10 (build 116751) -Dvaadin.board.developer.license=******* -Dvaadin.charts.developer.license=******* -Dvaadin.designer.developer.license=******* -Dvaadin.github.token=******* -Dvaadin.sonar.host=https://sonar.projects.vaadin.com/ -Dvaadin.sonar.login=0514c6e6b0ad5b664ad90bbb6448e736bd84c9bc -Dvaadin.sonar2.host=https://sonar2.projects.vaadin.com/ -Dvaadin.sonar2.login=f413ec99f13dc728073b48aede9f77ce94cd88e2 -Dvaadin.spreadsheet.developer.license=******* -Dvaadin.testbench.developer.license=******* -Dvaadin.touchkit.developer.license=******* -Dmaven.repo.local=/root/.m2/repository -classpath /opt/agent/tools/maven.3.8.4/boot/plexus-classworlds-2.6.0.jar: org.codehaus.plexus.classworlds.launcher.Launcher -f /opt/agent/work/71354c1e470ca731/pom.xml -B -B -e -V -U clean install
[13:06:50 ](https://teamcity.vaadin.com/buildConfiguration/Flow_FormFillerAddon/200808?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=200808_3568_3568&logView=flowAware)  2023-09-12 13:07:34
  Full thread dump OpenJDK 64-Bit Server VM (17.0.2+8-86 mixed mode, sharing):

I have checked the configuration of this Step, and it is: Goals: clean install And we have some: additional Maven command line parameters as well.

Based on this I propose to add the ignore/skip the development profile, to have the original way of working to the additional maven command line parameters.

Official documentation:

This parameter I would add: -P-development

I propose to change the following command to the above one ( i will test it now).

mshabarov commented 1 year ago

Maintaining form filler builds with ignoring this profile seems to me an extra pain, thus, I would propose to revert this change a bit and make this profile optional. When you run mvn clean install you don't expect that this will run the app server and stuck, looks incorrect.

Also, I'd like to rename the profile to dev for simplicity.

czp13 commented 1 year ago

@mshabarov: Thank you for responding. As we also discussed on Slack, it makes sense to revert some of these changes. I can also revert the change to the build server profile's ignore settings. While the build profile change made this PR validation pass, I agree with your proposal that it's not good to have customised build profiles for projects, as it makes them very hard to track and maintain!