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

Add release CI #21

Closed
kou opened this issue Aug 29, 2024 · 0 comments · Fixed by #122
Closed

Add release CI #21

kou opened this issue Aug 29, 2024 · 0 comments · Fixed by #122
Assignees
Milestone

Comments

@kou
Copy link
Member

kou commented Aug 29, 2024

arrow-julia's implementation will help us: https://github.com/apache/arrow-julia/blob/2696105d01cfda7c55d1902951a20908a3c205e5/.github/workflows/ci.yml#L35-L66

kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release .

Follow-up tasks:
* Add support for verifying integration test in the verification script
* Add support for creating GitHub Releases
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release .

Follow-up tasks:
* Add support for verifying integration test in the verification script
* Add support for creating GitHub Releases
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release .

Follow-up tasks:
* Add support for verifying integration test in the verification script
* Add support for creating GitHub Releases
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Follow-up tasks:
* Add support for verifying integration test in the verification script
* Add support for creating GitHub Releases
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 12, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
kou added a commit to kou/arrow-go that referenced this issue Sep 13, 2024
Fix apacheGH-21

This is based on
https://github.com/apache/arrow-julia/tree/main/dev/release and
https://github.com/apache/arrow-adbc/tree/main/dev/release .

Workflow:

Cut a RC:

1. Update `PkgVersion` in `arrow/doc.go`
2. Run `dev/release/release_rc.sh`
   1. `dev/release/release_rc.sh` pushes `v${version}-rc${rc}` tag
   2. `.github/workflows/rc.yml` creates
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}`
   3. `.github/workflows/rc.yml` uploads
      `apache-arrow-go-${version}.tar.gz{,.sha256,.sha512}` to
      GitHub Releases
   4. `dev/release/release_rc.sh` downloads
      `apache-arrow-go-${version}.tar.gz` from
      GitHub Releases
   5. `dev/release/release_rc.sh` signs
      `apache-arrow-go-${version}.tar.gz` as
      `apache-arrow-go-${version}.tar.gz.asc`
   6. `dev/release/release_rc.sh` uploads
      `apache-arrow-go-${version}.tar.gz.asc` to
      GitHub Releases
3. Start a vote

(GitHub Actions instead of
https://dist.apache.org/repos/dist/dev/arrow/ is used like ADBC.)

Verify a RC:

1. Run `dev/release/verify_rc.sh`

Release an approved RC:

1. Run `dev/release/release.sh`
   1. `dev/release/release.sh` pushes `v${version}` tag that
      refers that same commit ID as `v${version}-rc${rc}`
   2. `dev/release/release.sh` downloads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` from
      GitHub Actions
   3. `dev/release/release.sh` uploads
      `apache-arrow-go-${version}.tar.gz{,.asc,.sha256,.sha512}` to
      https://dist.apache.org/repos/dist/release/arrow
   4. `dev/release/release.sh` removes old releases from
      https://dist.apache.org/repos/dist/release/arrow
2. Add this release to ASF's report database:
   https://reporter.apache.org/addrelease.html?arrow

Follow-up tasks:
* Add support for running integration test in the verification script
* Add support for releasing a release note
* Add support for creating "v${version}"'s GitHub Releases
  * We can copy "v${version}-rc${rc}"'s GitHub Releases and adjust
    it for the official release
@kou kou closed this as completed in #122 Sep 17, 2024
@kou kou closed this as completed in c6d372a Sep 17, 2024
@zeroshade zeroshade added this to the 18.0.0 milestone Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants