Giter Site home page Giter Site logo

devops-cicd-github-actions's People

Contributors

henrychao-rcsb avatar ingvord avatar jonstargaryen avatar josemduarte avatar rcsbsystems avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jonstargaryen

devops-cicd-github-actions's Issues

Consider multi module maven projects

Turns out we do have a few multi module maven projects. There is a couple of ways to deal with them:

  1. get rid off them
  2. alter GitHub actions workflow to be aware of those

I would personally go with the first option, as frankly speaking maven multi module add very little value (if any), but introduces a lot of maintenance pain, for instance when one project produces mutiple artifacts. That simply violates the General rule of thumb - single artifact per repo

Second option requires some research...

Builds pushed to build-locker without dependency jars included

The current step when archiving a .jar build for BuildLocker only includes the jar file: https://github.com/rcsb/devops-cicd-github-actions/blob/master/.github/workflows/deploy-to-buildloker.yaml#L27

In comparison, the old GitLab CI/CD pipeline will create an archive file that also includes the dependency-jars/ directory: https://github.com/rcsb/rcsb-everglades/blob/master/.gitlab-ci.yml#L22

Without that dependency directory, the weekly update workflow tasks which call the everglades Java library will fail due to missing dependencies:

A task failed when running. Most likely run() raised an exception.
name	etl.create_indexes.CreateTermsAutocompleteIndex
contentType	computational
Command line
/usr/local/bin/luigi --module weekly_update.etl.end RunETLWorkflow --ETLWorkflowConfig-appendCoastAndChannelToConfigLoc --MasterConfig-whatCoast east --MasterConfig-appendCoastToStateFilesBasePath --MasterConfig-appendCoastToFtpFileBasePath --scheduler-host etl-east.rcsb.org --workers 1
Traceback
Runtime error:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/luigi/worker.py", line 191, in run
    new_deps = self._run_get_new_deps()
  File "/usr/local/lib/python3.8/dist-packages/luigi/worker.py", line 133, in _run_get_new_deps
    task_gen = self.task.run()
  File "/usr/local/lib/python3.8/dist-packages/weekly_update/etl/create_indexes.py", line 141, in run
    run_everglades_java_command("org.rcsb.everglades.elasticsearch.CreateTermsAutocomplete", self.contentType)
  File "/usr/local/lib/python3.8/dist-packages/weekly_update/etl/redwood_functions.py", line 102, in run_everglades_java_command
    return run_loader_java_command(ETLWorkflowConfig().indexerProjectName,
  File "/usr/local/lib/python3.8/dist-packages/weekly_update/etl/redwood_functions.py", line 83, in run_loader_java_command
    run_command(cmd)
  File "/usr/local/lib/python3.8/dist-packages/weekly_update/utils/general_utils.py", line 309, in run_command
    raise ValueError("Command '%s' failed with return %d. The stderr follows:\n%s"
ValueError: Command '/usr/bin/java -Xmx32g -DrcsbConfigProfile=https://cdn.rcsb.org/config/c5aecb46a9fe2698498ed4d1ab1925e9a8fef7f5/profiles/parks/prod/east/A/ -Dlog4j.configurationFile=https://cdn.rcsb.org/config/c5aecb46a9fe2698498ed4d1ab1925e9a8fef7f5/profiles/parks/prod/east/A/log4j2.everglades.xml -DlogFileName=/var/log/rcsb/everglades.CreateTermsAutocomplete-computational.log -cp /tmp/wuw_CreateTermsAutocomplete_n8pdddqh/rcsb-everglades-1.11.10-SNAPSHOT.jar org.rcsb.everglades.elasticsearch.CreateTermsAutocomplete -ct=computational' failed with return 1. The stderr follows:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
	at org.rcsb.everglades.elasticsearch.CreateTermsAutocomplete.(CreateTermsAutocomplete.java:28)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 1 more

The solution should be to include that directory as part of the deploy-build-locker-jar job step, but I'm not sure if this would impact other repos that call this workflow or not. FYI @Ingvord

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.