Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 68 additions & 67 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,31 @@ name: publish

on:
push:
branches: [master]
tags: ['*']
# branches: [master]
# tags: ['*']

jobs:
version-check:
# We need this job to run only on push with tag.
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }}
# if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }}
runs-on: ubuntu-22.04
steps:
# We can not use 'tarantool/check-module-version' action since it installs Tarantool 2.10.
# For this module we need Tarantool 3.
- name: Clone the module
uses: actions/checkout@v3

- name: Install tarantool 3.1
uses: tarantool/setup-tarantool@v3
with:
tarantool-version: '3.1'

- name: Setup tt
run: |
curl -L https://tarantool.io/release/3/installer.sh | bash
sudo apt install -y tt
tt version
. <(tt env)

- name: Install Tarantool 3.1
uses: ./.github/actions/install-tarantool
with:
tarantool: '3.1'

# https://stackoverflow.com/questions/58177786/get-the-current-pushed-tag-in-github-actions
- name: Set env
Expand All @@ -46,62 +47,62 @@ jobs:
fi
shell: bash

publish-rockspec-scm-1:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: tarantool/rocks.tarantool.org/github-action@master
with:
auth: ${{ secrets.ROCKS_AUTH }}
files: metrics-export-role-scm-1.rockspec

publish-rockspec-tag:
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }}
needs: version-check
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3

# Create a rockspec for the release.
- run: printf '%s=%s\n' TAG "${GITHUB_REF##*/}" >> "${GITHUB_ENV}"
- run: sed -E
-e 's/branch = ".+"/tag = "${{ env.TAG }}"/g'
-e 's/version = ".+"/version = "${{ env.TAG }}-1"/g'
metrics-export-role-scm-1.rockspec > metrics-export-role-${{ env.TAG }}-1.rockspec

- name: Setup tt
run: |
curl -L https://tarantool.io/release/3/installer.sh | bash
sudo apt install -y tt
tt version

# Create a rock for the release (.all.rock).
#
# `tt rocks pack <module_name> <version>` creates
# .all.rock tarball. It speeds up
# `tt rocks install <module_name> <version>` and
# frees it from dependency on git.
#
# Don't confuse this command with
# `tt rocks pack <rockspec>`, which creates a
# source tarball (.src.rock).
#
# Important: Don't upload binary rocks to
# rocks.tarantool.org. Lua/C modules should be packed into
# .src.rock instead. See [1] for description of rock types.
#
# [1]: https://github.com/luarocks/luarocks/wiki/Types-of-rocks
- uses: tarantool/setup-tarantool@v3
with:
tarantool-version: '3.1'
- run: tt rocks install metrics-export-role-${{ env.TAG }}-1.rockspec
- run: tt rocks pack metrics-export-role ${{ env.TAG }}

# Upload .rockspec and .all.rock.
- uses: tarantool/rocks.tarantool.org/github-action@master
with:
auth: ${{ secrets.ROCKS_AUTH }}
files: |
metrics-export-role-${{ env.TAG }}-1.rockspec
metrics-export-role-${{ env.TAG }}-1.all.rock
# publish-rockspec-scm-1:
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@v3
# - uses: tarantool/rocks.tarantool.org/github-action@master
# with:
# auth: ${{ secrets.ROCKS_AUTH }}
# files: metrics-export-role-scm-1.rockspec
#
# publish-rockspec-tag:
# if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }}
# needs: version-check
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@v3
#
# # Create a rockspec for the release.
# - run: printf '%s=%s\n' TAG "${GITHUB_REF##*/}" >> "${GITHUB_ENV}"
# - run: sed -E
# -e 's/branch = ".+"/tag = "${{ env.TAG }}"/g'
# -e 's/version = ".+"/version = "${{ env.TAG }}-1"/g'
# metrics-export-role-scm-1.rockspec > metrics-export-role-${{ env.TAG }}-1.rockspec
#
# - name: Setup tt
# run: |
# curl -L https://tarantool.io/release/3/installer.sh | bash
# sudo apt install -y tt
# tt version
#
# # Create a rock for the release (.all.rock).
# #
# # `tt rocks pack <module_name> <version>` creates
# # .all.rock tarball. It speeds up
# # `tt rocks install <module_name> <version>` and
# # frees it from dependency on git.
# #
# # Don't confuse this command with
# # `tt rocks pack <rockspec>`, which creates a
# # source tarball (.src.rock).
# #
# # Important: Don't upload binary rocks to
# # rocks.tarantool.org. Lua/C modules should be packed into
# # .src.rock instead. See [1] for description of rock types.
# #
# # [1]: https://github.com/luarocks/luarocks/wiki/Types-of-rocks
# - uses: tarantool/setup-tarantool@v3
# with:
# tarantool-version: '3.1'
# - run: tt rocks install metrics-export-role-${{ env.TAG }}-1.rockspec
# - run: tt rocks pack metrics-export-role ${{ env.TAG }}
#
# # Upload .rockspec and .all.rock.
# - uses: tarantool/rocks.tarantool.org/github-action@master
# with:
# auth: ${{ secrets.ROCKS_AUTH }}
# files: |
# metrics-export-role-${{ env.TAG }}-1.rockspec
# metrics-export-role-${{ env.TAG }}-1.all.rock
Loading