Test alpha8 commit candidates before publication
Some checks failed
Candidate compatibility / prepare (push) Failing after 32s
Candidate compatibility / fixture-contract (push) Has been skipped
Candidate compatibility / lockstep clients Ruby 3.2 (push) Has been skipped
Candidate compatibility / lockstep clients Ruby 3.3 (push) Has been skipped
Candidate compatibility / lockstep clients Ruby 3.4 (push) Has been skipped
Candidate compatibility / lockstep clients Ruby 4.0 (push) Has been skipped
Candidate compatibility / image ${{ matrix.id }} (push) Has been skipped
Candidate compatibility / repository (push) Successful in 37s
Watch upstream OpenCode / open-compatibility-pr (push) Failing after 11s
Some checks failed
Candidate compatibility / prepare (push) Failing after 32s
Candidate compatibility / fixture-contract (push) Has been skipped
Candidate compatibility / lockstep clients Ruby 3.2 (push) Has been skipped
Candidate compatibility / lockstep clients Ruby 3.3 (push) Has been skipped
Candidate compatibility / lockstep clients Ruby 3.4 (push) Has been skipped
Candidate compatibility / lockstep clients Ruby 4.0 (push) Has been skipped
Candidate compatibility / image ${{ matrix.id }} (push) Has been skipped
Candidate compatibility / repository (push) Successful in 37s
Watch upstream OpenCode / open-compatibility-pr (push) Failing after 11s
This commit is contained in:
42
.github/workflows/candidate.yml
vendored
42
.github/workflows/candidate.yml
vendored
@@ -23,6 +23,7 @@ jobs:
|
||||
ruby test/runtime_tuple_promoter_test.rb
|
||||
ruby test/exact_live_contract_test.rb
|
||||
ruby test/watcher_test.rb
|
||||
ruby test/client_candidate_test.rb
|
||||
ruby test/lockstep_client_contract_test.rb
|
||||
ruby test/matrix_json_test.rb
|
||||
ruby test/image_contract_evidence_test.rb
|
||||
@@ -31,10 +32,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
matrix: ${{ steps.matrix.outputs.value }}
|
||||
publication_state: ${{ steps.clients.outputs.publication_state }}
|
||||
ruby_provenance_kind: ${{ steps.clients.outputs.ruby_provenance_kind }}
|
||||
ruby_ref: ${{ steps.clients.outputs.ruby_ref }}
|
||||
ruby_version: ${{ steps.clients.outputs.ruby_version }}
|
||||
ruby_tag: ${{ steps.clients.outputs.ruby_tag }}
|
||||
ruby_tag_object: ${{ steps.clients.outputs.ruby_tag_object }}
|
||||
rails_provenance_kind: ${{ steps.clients.outputs.rails_provenance_kind }}
|
||||
rails_ref: ${{ steps.clients.outputs.rails_ref }}
|
||||
rails_version: ${{ steps.clients.outputs.rails_version }}
|
||||
rails_tag: ${{ steps.clients.outputs.rails_tag }}
|
||||
@@ -44,38 +48,7 @@ jobs:
|
||||
- id: matrix
|
||||
run: echo "value=$(ruby scripts/matrix_json.rb)" >> "$GITHUB_OUTPUT"
|
||||
- id: clients
|
||||
run: |
|
||||
ruby_ref="$(jq -r '.clients["opencode-ruby"].ref' manifests/client-candidate.json)"
|
||||
ruby_version="$(jq -r '.clients["opencode-ruby"].version' manifests/client-candidate.json)"
|
||||
ruby_tag="$(jq -r '.clients["opencode-ruby"].tag_provenance.tag' manifests/client-candidate.json)"
|
||||
ruby_tag_object="$(jq -r '.clients["opencode-ruby"].tag_provenance.annotated_tag_object' manifests/client-candidate.json)"
|
||||
rails_ref="$(jq -r '.clients["opencode-rails"].ref' manifests/client-candidate.json)"
|
||||
rails_version="$(jq -r '.clients["opencode-rails"].version' manifests/client-candidate.json)"
|
||||
rails_tag="$(jq -r '.clients["opencode-rails"].tag_provenance.tag' manifests/client-candidate.json)"
|
||||
rails_tag_object="$(jq -r '.clients["opencode-rails"].tag_provenance.annotated_tag_object' manifests/client-candidate.json)"
|
||||
if ! [[ "$ruby_ref" =~ ^[0-9a-f]{40}$ ]]; then
|
||||
echo "opencode-ruby candidate ref must be a full 40-hex commit" >&2
|
||||
exit 2
|
||||
fi
|
||||
if ! [[ "$rails_ref" =~ ^[0-9a-f]{40}$ ]]; then
|
||||
echo "opencode-rails candidate ref must be a full 40-hex commit" >&2
|
||||
exit 2
|
||||
fi
|
||||
if ! [[ "$ruby_tag_object" =~ ^[0-9a-f]{40}$ && "$rails_tag_object" =~ ^[0-9a-f]{40}$ ]]; then
|
||||
echo "candidate annotated tag objects must be full 40-hex object IDs" >&2
|
||||
exit 2
|
||||
fi
|
||||
test "$ruby_tag" = "v$ruby_version"
|
||||
test "$rails_tag" = "v$rails_version"
|
||||
test "$ruby_version" = "$rails_version"
|
||||
echo "ruby_ref=$ruby_ref" >> "$GITHUB_OUTPUT"
|
||||
echo "ruby_version=$ruby_version" >> "$GITHUB_OUTPUT"
|
||||
echo "ruby_tag=$ruby_tag" >> "$GITHUB_OUTPUT"
|
||||
echo "ruby_tag_object=$ruby_tag_object" >> "$GITHUB_OUTPUT"
|
||||
echo "rails_ref=$rails_ref" >> "$GITHUB_OUTPUT"
|
||||
echo "rails_version=$rails_version" >> "$GITHUB_OUTPUT"
|
||||
echo "rails_tag=$rails_tag" >> "$GITHUB_OUTPUT"
|
||||
echo "rails_tag_object=$rails_tag_object" >> "$GITHUB_OUTPUT"
|
||||
run: ruby scripts/client_candidate_outputs.rb >> "$GITHUB_OUTPUT"
|
||||
|
||||
fixture-contract:
|
||||
needs: prepare
|
||||
@@ -133,7 +106,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
ruby: ["3.2", "3.3", "3.4"]
|
||||
ruby: ["3.2", "3.3", "3.4", "4.0"]
|
||||
name: lockstep clients Ruby ${{ matrix.ruby }}
|
||||
steps:
|
||||
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
@@ -171,10 +144,13 @@ jobs:
|
||||
env:
|
||||
OPENCODE_RUBY_PATH: ${{ github.workspace }}/ruby-client
|
||||
OPENCODE_RAILS_PATH: ${{ github.workspace }}/opencode-rails
|
||||
OPENCODE_CLIENT_PUBLICATION_STATE: ${{ needs.prepare.outputs.publication_state }}
|
||||
OPENCODE_RUBY_COMMIT: ${{ needs.prepare.outputs.ruby_ref }}
|
||||
OPENCODE_RUBY_PROVENANCE_KIND: ${{ needs.prepare.outputs.ruby_provenance_kind }}
|
||||
OPENCODE_RUBY_TAG: ${{ needs.prepare.outputs.ruby_tag }}
|
||||
OPENCODE_RUBY_TAG_OBJECT: ${{ needs.prepare.outputs.ruby_tag_object }}
|
||||
OPENCODE_RAILS_COMMIT: ${{ needs.prepare.outputs.rails_ref }}
|
||||
OPENCODE_RAILS_PROVENANCE_KIND: ${{ needs.prepare.outputs.rails_provenance_kind }}
|
||||
OPENCODE_RAILS_TAG: ${{ needs.prepare.outputs.rails_tag }}
|
||||
OPENCODE_RAILS_TAG_OBJECT: ${{ needs.prepare.outputs.rails_tag_object }}
|
||||
OPENCODE_RUBY_VERSION: ${{ needs.prepare.outputs.ruby_version }}
|
||||
|
||||
Reference in New Issue
Block a user