Coder Social home page Coder Social logo

github-actions-base's People

Contributors

jordanpadams avatar mjjoyce avatar nutjob4life avatar pdsen-ci avatar tloubrieu-jpl avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

github-actions-base's Issues

As an integrator, I'd like the `github-actions-base` in the Docker Hub to be kept in sync with GitHub

To speed up (by an insane amount) the running of GitHub Actions, we use a common base image, the Dockerfile of which is in the GitHub Actions Base repository.

However, each time we make updates to this Dockerfile, someone has to do a separate step of building and registering the new image with the Docker Hub.

We should use GitHub Actions in this very repository to automatically build and upload a new image whenever there's a merge to master (main). This way there will never be any question of whether what's in the Docker Hub is out of sync with what's here in the GitHub repository.

As a generally good individual I want to builds to be triggered by pds-github-util builds

πŸ’ͺ Motivation

See #10 for lots of details. TLDR, we want github-actions-base to build whenever a new release of pds-github-util gets tagged so magical CI things will happen without manual updates from us.

βš™οΈ Engineering Details

pds-github-util has an open PR (NASA-PDS/pds-github-util#22) to add an action to emit a Repository Dispatch event via https://github.com/marketplace/actions/repository-dispatch whenever a new version is tagged. We need to listen for that event so we can trigger a build as well.

Update default dependencies

  • use openjdk11 for java default
  • use tagged github_changelog_generator v1.15.2. specific commit version does not work anymore with latest github API.
gem install github_changelog_generator -v 1.15.2

github-actions-base got upgraded to Alpine 3.16, broke `git` and `github_changelog_generator`

Checked for duplicates

No - I haven't checked

πŸ› Describe the bug

A commit made directly to the main branch of this repository upgraded the FROM image of github-actions-base from Alpine 3.14 to Alpine 3.16.

This resulted in:

  • git being upgraded from 2.32.0 β†’ 2.36.5
  • ruby being upgraded from 2.7.4 β†’ 3.1.4

The change to git broke the Roundup Action's "Requirements" step and the change to ruby broke the "Changelog" step. (The fix needed to address the upgrade to git will be addressed in the roundup-action repository` in a separate issue.)

The issue with ruby is that it had a major upgrade, from 2 β†’ 3, and the changelog generator was pinned to a much older commit. The changelog generator should be upgraded to the latest official gem version in order to become compatible with ruby 3.

πŸ•΅οΈ Expected behavior

I expected these two steps to work.

πŸ“œ To Reproduce

Use nasapds/github-actions-base:latest in the Roundup Action's Dockerfile as its FROM and watch things blow up mysteriously.

πŸ–₯ Environment Info

Github Actions

πŸ“š Version of Software Used

nasapds/github-actions-base:latest

🩺 Test Data / Additional context

No response

πŸ¦„ Related requirements

πŸ¦„ #xyz

βš™οΈ Engineering Details

No response

As a developer, I want to see fewer deprecation warnings

Checked for duplicates

No - I haven't checked

πŸ§‘β€πŸ”¬ User Persona(s)

Engineers at the PDS Engineering Node

πŸ’ͺ Motivation

…so that I can have more signal and less noise and ensure that this software survives past when features are removed.

πŸ“– Additional Details

When the "Image Build & Push" workflow in this repository runs, it makes the complaint:

Warning: The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Acceptance Criteria

Given
When I perform
Then I expect

βš™οΈ Engineering Details

No response

Python 3.8 is used by the Roundup by 3.9 by the projectsβ€”and the template repo!

πŸ› Describe the bug

Take a look at https://github.com/NASA-PDS/pds-doi-service/runs/3626183249?check_suite_focus=true

See the problem? The pds-doi-service is based on the pds-template-repo-python, both of which use Python 3.9 features, such as type annotations using type-based types like list and dict. But the Roundup fails because Using list and dict in type annotations isn't supported in Python 3.8, which is what the Roundup uses.

πŸ“œ To Reproduce

Commit a change to pds-doi-service then wait 22+ minutes.

πŸ•΅οΈ Expected behavior

If the pds-template-repo-python and all of our other Python-based repositories are using Python 3.9, then the Roundup should too.

As a developer, I want to other CPU architectures supported by this image

Checked for duplicates

No - I haven't checked

πŸ§‘β€πŸ”¬ User Persona(s)

Any developer using github-actions-base

πŸ’ͺ Motivation

…so that I can debug problems with github-actions-base when I'm using my fancy high-powered Mac Studio with an M1 Ultra CPU and not have to go to my old broken and super slow MacBook Pro with an ancient Intel CPU.

πŸ“– Additional Details

No response

Acceptance Criteria

Given
When I perform
Then I expect

βš™οΈ Engineering Details

No response

As a developer I want to github-actions-base to pull the latest pds-github-utils release

πŸ’ͺ Motivation

See #10 for related discussions. We want the latest pds-github-utils release to get pulled into github-actions-base.

βš™οΈ Engineering Details

The naive "just don't install a specific tag for pds-github-utils approach seems reasonable enough here. Not sure if there's concerns about that. We could certainly come up with a more complicated solution but it would seemingly get us to the same-ish end point. Thoughts?

Drop pds-github-util dependency

Drop pds-github-util from our base Docker image in favor of down-stream "users" installing the dependency. This will keep our base image releases more stable instead of constantly rebuilding / releasing to integrate changes in support tooling.

As a continuous integration robot, I need libgit2-dev in order to work with the latest Python updates

The latest Python repositories in the Planetary Data System make use of several advanced features like tox, black, mypy, etc.

While these tools run just fine on most developer systems, in the minimal container environment of the Roundup Action, they fail because of missing libraries.

The base image for containerized apps for the PDSβ€”such as for the Roundup Actionβ€”should include the following packages:

  • libgit2-dev

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.