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

[Maintenance] Update version of Crystal lang to GA Release, v1.0.0 #771

Closed
8 tasks
lixuna opened this issue May 11, 2021 · 12 comments · Fixed by #889 or #890
Closed
8 tasks

[Maintenance] Update version of Crystal lang to GA Release, v1.0.0 #771

lixuna opened this issue May 11, 2021 · 12 comments · Fixed by #889 or #890
Assignees
Labels
8 pts maintenance sprint37 Sprint 37: July 1-14 (Pts: 37) sprint38 Sprint 38: July 15-28 (Pts: 16) sprint39 Sprint 39: July 29-August 11 (Pts: 59) v0.14.0 Issue included in v0.14.0 release

Comments

@lixuna
Copy link
Collaborator

lixuna commented May 11, 2021

Describe the maintenance item

Expected behavior

  • the CNF Test Suite will function as expected after updating Crystal from 0.35.1 to 1.0

How will this be tested? aka Acceptance Criteria (optional)

  • All documentation is updated to mention the updated Crystal version, 1.0.0
  • Install works as expected
  • Running all tests works as expected
  • Running workload-only works as expected
  • Running platform-only works as expected
  • Running individual test categories works as expected
  • Running individual tests works as expected
  • tbd, add more expectations as needed

Additional context

  • the current version of Crystal on CNF Test Suite (v0.35.1) is 3 versions behind the 1.0.0 release
@HashNuke
Copy link
Collaborator

HashNuke commented Jun 26, 2021

Below are my activities so far

  • I reviewed the changelogs of the dependencies and made appropriate updates to the shard.yml of the project.
  • Commented out the crystal-community/icr dependency for now. Will add it back if required/possible after the v1.0 upgrade.

Local build compiled fine. Yet to fix GitHub actions.

Notes on changelogs

  • icyleaf/totem
    • Changelog
    • No code changes
    • Only upgrade to 0.7.0
  • icyleaf/halite
    • Changelog
    • No code changes
    • Only upgrade to 0.12.0
  • mrrooijen/commander
    • Changelog
    • No upgrade required
    • No code changes
  • vulk/sam.cr
    • No changelog
    • Have to make this compatible with Crystal v1.0.0
    • Temporarily forked it as HashNuke/sam.cr and updated shard.yml to allow Crystal 1.0.0 (working branch)
  • straight-shoota/crinja
  • Sija/retriable.cr
    • No code changes required
    • Sent PR to the repo to allow Crystal v1.0.0. Temporarily building from HashNuke/retriable.cr
  • crystal-ameba/ameba
    • No changelog available
    • Be brave and upgrade to 0.14.3. Let us see what breaks.
  • Crystal changelog
    • Changelog
    • Make changes based on build output

Here's where I am blocked

Made an attempt (branch: crystal-v1). Noticed that we are using two docker images in the github actions

  • conformance/crystal
  • conformance/offline

I could not find the source docker files for these images to attempt an upgrade. Blocked with this.

@HashNuke HashNuke self-assigned this Jun 28, 2021
@lixuna lixuna added the sprint36 Sprint 36: June 17-30 (Pts: 47) label Jun 28, 2021
@HashNuke
Copy link
Collaborator

Update: 30 June 2021

  • GitHub Actions build now uses a custom image for crystal now for the github actions.
  • Added this new dockerfile to the repo incase we want to update the Crystal version again sometime later.
  • Temporarily pushed this docker image to my own namespace hashnuke/crystal-custom:1.0.0-alpine-r1.
  • All tests except the 3 airgapped tests are passing according to the latest build as of this comment.
  • Team confirmed that there might be an issue with the self-hosted github action runners.

Will try running the tests tomorrow after the self-hosted runners are fixed.

@HashNuke
Copy link
Collaborator

HashNuke commented Jul 1, 2021

Update: 01 July 2021

  • The build is green now after the team fixed the self-hosted runners.
  • Next: Will check if icr can be added back.

@HashNuke
Copy link
Collaborator

HashNuke commented Jul 5, 2021

Update: 05 July 2021

Build is green. But I'm maintaining the following forks temporarily:

@lixuna lixuna added sprint37 Sprint 37: July 1-14 (Pts: 37) v0.13.1 Issue included in v0.13.1 release labels Jul 6, 2021
@HashNuke HashNuke added the BLOCKED This issue is blocked and needs attention label Jul 11, 2021
@HashNuke
Copy link
Collaborator

We cannot merge this until icr shard supports Crystal 1.0, which in turn depends on crystal-readline.

  • We'll have to wait until this PR is merged
  • Added the blocked label to this task.

@lixuna lixuna added the sprint38 Sprint 38: July 15-28 (Pts: 16) label Jul 20, 2021
@williscool
Copy link
Collaborator

@HashNuke looks like you should be able to merge this now

crystal-lang/crystal-readline#5

@HashNuke
Copy link
Collaborator

Update: Sent PR-131 to icr to update Crystal version.

@lixuna lixuna added v0.14.0 Issue included in v0.14.0 release sprint39 Sprint 39: July 29-August 11 (Pts: 59) and removed sprint36 Sprint 36: June 17-30 (Pts: 47) v0.13.1 Issue included in v0.13.1 release labels Jul 29, 2021
@HashNuke HashNuke removed the BLOCKED This issue is blocked and needs attention label Aug 3, 2021
@agentpoyo
Copy link
Collaborator

agentpoyo commented Aug 5, 2021

Acceptance Criteria:

Crystal Version 1.0.0 Support:

  • Setup and configure crystal v1.0.0 on workstation or instance that cnf-testsuite will be installed onto. See https://crystal-lang.org/install/ for more details for OS version used.
  • Verify crystal version is 1.0.0 with crystal version command.
  • Download source from git repo for cnf-testsuite: git clone [email protected]:cncf/cnf-testsuite.git
  • cd cnf-testsuite and then run shards install to verify shards dependencies are downloaded without error: shards install
  • Now run crystal build src/cnf-testsuite.cr --warnings none if shards install had no errors to build the cnf-testsuite binary.
  • Once built, you can verify the binary by running ./cnf-testsuite version and it should tell you the current main branch version, ex. CNF TestSuite version: main-2021-08-04-230419-fba71fc
  • Now you can run cnf_setup and workload tests.
  • After successful cnf_setup, I can see screenshots of a successful workload or other test performed on cnf-testsuite using crystal v1.0.0

@agentpoyo
Copy link
Collaborator

image

@agentpoyo
Copy link
Collaborator

image

@lixuna
Copy link
Collaborator Author

lixuna commented Aug 6, 2021

@agentpoyo @denverwilliams @wavell @HashNuke what is the level of effort in points for this issue? (ex. 0,1,2,3,5,8,13,21)

@agentpoyo
Copy link
Collaborator

8pts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8 pts maintenance sprint37 Sprint 37: July 1-14 (Pts: 37) sprint38 Sprint 38: July 15-28 (Pts: 16) sprint39 Sprint 39: July 29-August 11 (Pts: 59) v0.14.0 Issue included in v0.14.0 release
Projects
None yet
4 participants