Skip to content

Support pre-releases (alpha, beta, rc) #23

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

Open
Totktonada opened this issue Jun 23, 2022 · 0 comments
Open

Support pre-releases (alpha, beta, rc) #23

Totktonada opened this issue Jun 23, 2022 · 0 comments
Labels
feature A new functionality

Comments

@Totktonada
Copy link
Member

Totktonada commented Jun 23, 2022

I'm going to close #19 with support of 2.10+ releases (2.10.0 and so on). This issue tracks additional work to support pre-releases like 2.10.0-rc1. I splitted the tasks, because I'm not sure about the best API for pre-releases.

What comes into the head first:

steps:
  - uses: actions/checkout@v2
  - uses: tarantool/setup-tarantool@v1
    with:
      tarantool-version: '2.10'
      pre-release: true

Or with exact version: tarantool-version: '2.10.0-rc1'.

Okay. What if I want latest 2.10.0 pre-release? tarantool-version: '2.10.0'? 2.10.0-rc1 is logically before 2.10.0, will not such tarantool-version confusing? OTOH, it is valid prefix and surely implements at least some of 2.10 feature set functionality. I'm not sure how we should interpret 2.10.0 in this context.

Next question. What if we want latest release or (if there are no release) latest pre-release of 2.10 feature set? We should be able to enable release and pre-release repositories both:

steps:
  - uses: actions/checkout@v2
  - uses: tarantool/setup-tarantool@v1
    with:
      tarantool-version: '2.10'
      <do not know how to name it>: ['release', 'pre-release']

We can also add 'live' into the list of possible values (for 1.10): so a user may have the ['1.10', '2.8', '2.10'] matrix of tarantool versions and acquire a latest available build this way:

steps:
  - uses: actions/checkout@v2
  - uses: tarantool/setup-tarantool@v1
    with:
      tarantool-version: ${{ matrix.tarantool }}
      <do not know how to name it>: ['release', 'pre-release', 'live']

What else to consider:

I need to think around use cases and possible APIs here.

@Totktonada Totktonada added feature A new functionality teamE labels Jun 23, 2022
Totktonada added a commit that referenced this issue Jun 23, 2022
## Background

The new release policy (see [1]) is in effect since Tarantool 2.10 and
changes several things, including:

1. Repositories layout.
   - The new release series naming: `series-2` instead of `2.10`, `2.11`
     and so on.
   - The new `pre-release` repository.
   - No nightly builds (`live` repository).
2. Versioning.
   - Three digit versions for release builds: `2.10.0` instead of
     `2.10.0.0`.
   - `alpha`, `beta`, `rc` marks in pre-release tarantool versions.

[1]: tarantool/tarantool#6182

## Usage

This commit offers support of 2.10+ *releases* and leaves pre-releases
unsupported (it is tracked in #23).

The usage is quite straightforward:

```yaml
steps:
  - uses: actions/checkout@v2
  - uses: tarantool/setup-tarantool@v1
    with:
      tarantool-version: '2.10.0' # or '2.10', or just '2'
```

The latest 2.10.X version will be installed for
`tarantool-version: '2.10'`. The latest 2.X.Y version will be
installed for `tarantool-version: '2'`.

## Implementatoin details

We have nothing to do regarding versioning in order to support 2.10+
*releases*. However we should reflect the repository layout change:

* tarantool-version: 2.8, nightly-build: false or unset

  (Nothing is changed here.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/release/2.8
  ```
* tarantool-version: 2.8, nightly-build: true

  (Nothing is changed here.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/2.8
  ```
* tarantool-version: 2.10, nightly-build: false or unset

  (This is the new logic introduced by this commit.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/release/series-2
  ```
* tarantool-version: 2.10, nightly-build: true

  (This is the new logic introduced by this commit.)

  Raise an error.

If the version is set as `'2'` or `'2.10.0'`, use the same logic as for
`'2.10'`.

Fixes #19
Totktonada added a commit that referenced this issue Jun 23, 2022
## Background

The new release policy (see [1]) is in effect since Tarantool 2.10 and
changes several things, including:

1. Repositories layout.
   - The new release series naming: `series-2` instead of `2.10`, `2.11`
     and so on.
   - The new `pre-release` repository.
   - No nightly builds (`live` repository).
2. Versioning.
   - Three digit versions for release builds: `2.10.0` instead of
     `2.10.0.0`.
   - `alpha`, `beta`, `rc` marks in pre-release tarantool versions.

[1]: tarantool/tarantool#6182

## Usage

This commit offers support of 2.10+ *releases* and leaves pre-releases
unsupported (it is tracked in #23).

The usage is quite straightforward:

```yaml
steps:
  - uses: actions/checkout@v2
  - uses: tarantool/setup-tarantool@v1
    with:
      tarantool-version: '2.10.0' # or '2.10', or just '2'
```

The latest 2.10.X version will be installed for
`tarantool-version: '2.10'`. The latest 2.X.Y version will be
installed for `tarantool-version: '2'`.

## Implementatoin details

We have nothing to do regarding versioning in order to support 2.10+
*releases*. However we should reflect the repository layout change:

* tarantool-version: 2.8, nightly-build: false or unset

  (Nothing is changed here.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/release/2.8
  ```
* tarantool-version: 2.8, nightly-build: true

  (Nothing is changed here.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/2.8
  ```
* tarantool-version: 2.10, nightly-build: false or unset

  (This is the new logic introduced by this commit.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/release/series-2
  ```
* tarantool-version: 2.10, nightly-build: true

  (This is the new logic introduced by this commit.)

  Raise an error.

If the version is set as `'2'` or `'2.10.0'`, use the same logic as for
`'2.10'`.

Fixes #19
Totktonada added a commit that referenced this issue Jun 23, 2022
## Background

The new release policy (see [1]) is in effect since Tarantool 2.10 and
changes several things, including:

1. Repositories layout.
   - The new release series naming: `series-2` instead of `2.10`, `2.11`
     and so on.
   - The new `pre-release` repository.
   - No nightly builds (`live` repository).
2. Versioning.
   - Three digit versions for release builds: `2.10.0` instead of
     `2.10.0.0`.
   - `alpha`, `beta`, `rc` marks in pre-release tarantool versions.

[1]: tarantool/tarantool#6182

## Usage

This commit offers support of 2.10+ *releases* and leaves pre-releases
unsupported (it is tracked in #23).

The usage is quite straightforward:

```yaml
steps:
  - uses: actions/checkout@v2
  - uses: tarantool/setup-tarantool@v1
    with:
      tarantool-version: '2.10.0' # or '2.10', or just '2'
```

The latest 2.10.X version will be installed for
`tarantool-version: '2.10'`. The latest 2.X.Y version will be
installed for `tarantool-version: '2'`.

## Implementatoin details

We have nothing to do regarding versioning in order to support 2.10+
*releases*. However we should reflect the repository layout change:

* tarantool-version: 2.8, nightly-build: false or unset

  (Nothing is changed here.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/release/2.8
  ```
* tarantool-version: 2.8, nightly-build: true

  (Nothing is changed here.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/2.8
  ```
* tarantool-version: 2.10, nightly-build: false or unset

  (This is the new logic introduced by this commit.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/release/series-2
  ```
* tarantool-version: 2.10, nightly-build: true

  (This is the new logic introduced by this commit.)

  Raise an error.

If the version is set as `'2'` or `'2.10.0'`, use the same logic as for
`'2.10'`.

Fixes #19
Totktonada added a commit that referenced this issue Jun 24, 2022
## Background

The new release policy (see [1]) is in effect since Tarantool 2.10 and
changes several things, including:

1. Repositories layout.
   - The new release series naming: `series-2` instead of `2.10`, `2.11`
     and so on.
   - The new `pre-release` repository.
   - No nightly builds (`live` repository).
2. Versioning.
   - Three digit versions for release builds: `2.10.0` instead of
     `2.10.0.0`.
   - `alpha`, `beta`, `rc` marks in pre-release tarantool versions.

[1]: tarantool/tarantool#6182

## Usage

This commit offers support of 2.10+ *releases* and leaves pre-releases
unsupported (it is tracked in #23).

The usage is quite straightforward:

```yaml
steps:
  - uses: actions/checkout@v2
  - uses: tarantool/setup-tarantool@v1
    with:
      tarantool-version: '2.10.0' # or '2.10', or just '2'
```

The latest 2.10.X version will be installed for
`tarantool-version: '2.10'`. The latest 2.X.Y version will be
installed for `tarantool-version: '2'`.

## Implementatoin details

We have nothing to do regarding versioning in order to support 2.10+
*releases*. However we should reflect the repository layout change:

* tarantool-version: 2.8, nightly-build: false or unset

  (Nothing is changed here.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/release/2.8
  ```
* tarantool-version: 2.8, nightly-build: true

  (Nothing is changed here.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/2.8
  ```
* tarantool-version: 2.10, nightly-build: false or unset

  (This is the new logic introduced by this commit.)

  ```
  baseUrl: https://download.tarantool.org/tarantool/release/series-2
  ```
* tarantool-version: 2.10, nightly-build: true

  (This is the new logic introduced by this commit.)

  Raise an error.

If the version is set as `'2'` or `'2.10.0'`, use the same logic as for
`'2.10'`.

Fixes #19
@LeonidVas LeonidVas removed the teamE label Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new functionality
Projects
None yet
Development

No branches or pull requests

2 participants