Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: init versioning and testing #6

Merged
merged 30 commits into from
Dec 9, 2023
Merged

Conversation

ImBIOS
Copy link
Owner

@ImBIOS ImBIOS commented Nov 5, 2023

Close #1
Close #3
Close #4
Close #5

📦 Changes

  • Node.js version checking will check each 2 latest/still maintained LTS and current version from Node.js instead of only checking the latest current version from GitHub.
  • Docker image build only triggers for the updated version instead of building each version.
  • Bun and Node.js versioning will be cached into versions.json instead of a different file.
  • Bun will support the latest and canary releases by checking from npm instead of only the latest version from GitHub.
  • Integration testing (build testing):
    • Next.js
    • Nuxt.js
    • Astro
    • Qwik
    • Remix
  • Docker image tagging will support version rollback by defining the docker image tag with format almost similar to docker-node versioning: imbios/bun-node:BUN_VERSION-NODE_VERSION-LINUX_DISTRO, and support semver latest tagging as example below:
    • e.g. latest stable bun version 1.0.11, latest canary bun version 1.0.11-canary; latest current node version 21.7.0, latest lts node version 20.9.0, second latest node version 18.2.0; distro alpine, debian-slim, debian; then we will build image like below:
      • imbios/bun-node:1.0.11-21.7.0-alpine; tags: 1.0-21.7.0-alpine, 1-21.7.0-alpine, latest-21.7.0-alpine, 1.0.11-21.7-alpine, 1.0.11-21-alpine, 1.0.11-latest-alpine, latest-alpine

Given the examples:

  • Bun versions: 1.0.11, 1.0.11-canary
  • Node.js versions: 21.7.0 (current), 20.9.0 (latest LTS), 18.2.0 (second latest LTS)
  • Linux distributions: alpine, debian-slim, debian
  1. Bun version 1.0.11 with Node.js version 21.7.0 (Current)

    • For alpine, debian-slim, and debian:
      • imbios/bun-node:1.0.11-21.7.0-DISTRO
      • imbios/bun-node:1.0-21.7.0-DISTRO
      • imbios/bun-node:1-21.7.0-DISTRO
      • imbios/bun-node:latest-21.7.0-DISTRO
      • imbios/bun-node:1.0.11-21.7-DISTRO
      • imbios/bun-node:1.0.11-21-DISTRO
      • imbios/bun-node:1.0.11-latest-DISTRO
      • imbios/bun-node:latest-DISTRO
  2. Bun version 1.0.11-canary with Node.js version 21.7.0 (Current)

    • Replace 1.0.11 with canary in each tag from above.
  3. Bun version 1.0.11 with Node.js version 20.9.0 (Latest LTS, Iron)

    • Replace 21.7.0 with 20.9.0 and add lts and iron in each tag from 1.
    • Example: imbios/bun-node:1.0.11-20.9.0-lts-DISTRO, imbios/bun-node:1.0.11-20.9.0-iron-DISTRO
  4. Bun version 1.0.11-canary with Node.js version 20.9.0 (Latest LTS, Iron)

    • Replace 1.0.11 with canary and follow the pattern from 3.
  5. Bun version 1.0.11 with Node.js version 18.2.0 (Second Latest LTS, Hydrogen)

    • Replace 21.7.0 with 18.2.0 and add hydrogen in each tag from 1.
    • Example: imbios/bun-node:1.0.11-18.2.0-hydrogen-DISTRO
  6. Bun version 1.0.11-canary with Node.js version 18.2.0 (Second Latest LTS, Hydrogen)

    • Replace 1.0.11 with canary and follow the pattern from 5.
  7. Canary tag

    • imbios/bun-node:canary-latest-debian
  8. Latest LTS tag

    • imbios/bun-node:latest-lts-debian

This approach provides a comprehensive tagging system that includes various versions and distros, accommodating version rollbacks and specific version needs.

Copy link

changeset-bot bot commented Nov 5, 2023

⚠️ No Changeset found

Latest commit: defd775

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@ImBIOS ImBIOS self-assigned this Nov 5, 2023
experimental Dockerfile and tests
latest Bun and Node.js versions, and remove
unnecessary Docker files and TODOs
latest versions of Bun and Node.js
maintainable format, and plan routine checks for
new versions and workflow to build only new
versions
@ImBIOS ImBIOS marked this pull request as ready for review December 9, 2023 13:32
@ImBIOS ImBIOS marked this pull request as draft December 9, 2023 13:33
@ImBIOS ImBIOS marked this pull request as ready for review December 9, 2023 14:36
@ImBIOS ImBIOS merged commit 5f79e21 into main Dec 9, 2023
1 check passed
@ImBIOS ImBIOS deleted the feat/versioning-and-testing branch December 9, 2023 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant