在编写GitHub Actions配置文件时候的一些总结(1)

我在编写EasyGitTool相关的CI的时候,我找了很多的与GitHub Actions有关的技术文档,但我认为为了不要让我在这样找,我决定以写一篇文章来记录这些事情。

发布到Pypi

基本步骤

- name: Install dependencies
    run: |
        python -m pip install --upgrade pip
        pip install setuptools wheel twine
- name: Build and publish
    env:
        TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
        TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
    run: |
        python setup.py sdist bdist_wheel
        twine upload dist/*

在加了tag后才发布

在每一个- name: 后加上if: startsWith(github.ref, 'refs/tags/')

- name: Install dependencies
    if: startsWith(github.ref, 'refs/tags/')
    run: |
        python -m pip install --upgrade pip
        pip install setuptools wheel twine
- name: Build and publish
    if: startsWith(github.ref, 'refs/tags/')
    env:
        TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
        TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
    run: |
        python setup.py sdist bdist_wheel
        twine upload dist/*

自动化写版本号

你可以建一个通过echo命令建立一个ver.py,但是在setup.py在前面import ver,然后version = ver.ver文件内声明的变量,像下面那样

from setuptools import setup, find_packages

import ver

setup(
    name = "你的项目名",  
    version = ver.ver,
    long_description = "你的项目的概述",  
    license = "你的项目的开源许可证",
    url = "你的项目的网站",  
    author = "作者名",  
    packages = find_packages(),  
    include_package_data = True,  
    platforms = "你的项目支持的平台",  
    install_requires = [],  
    keywords=["你的项目的关键词"],
    scripts = []
)

ver.py要与setup.py在同一目录内!

- name: Install dependencies
    if: startsWith(github.ref, 'refs/tags/')
    run: |
        python -m pip install --upgrade pip
        pip install setuptools wheel twine
- name: Build and publish
    if: startsWith(github.ref, 'refs/tags/')
    env:
        TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
        TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
    run: |
        echo 'ver = "V0.'${{ github.run_id }}'.dev"'>ver.py
        python setup.py sdist bdist_wheel
        twine upload dist/*

发布GitHub Release

手动写版本号

- name: Create Release and Upload Release Asset
	uses: softprops/action-gh-release@v1
	with:
		tag_name: V0.1 # 你也可以将其输入为V1.2……
		name: V0.1 # 你也可以将其输入为V1.2……
		body: TODO New Release.
		draft: false  # 是否是草稿
		prerelease: true # 是否是预览版
		files: |
			# 你要上传的文件

自动化写版本号

- name: Create Release and Upload Release Asset
	uses: softprops/action-gh-release@v1
	with:
		tag_name: V0.${{ github.run_id }}.dev
		name: V0.${{ github.run_id }}.dev
		body: TODO New Release.
		draft: false  # 是否是草稿
		prerelease: true # 是否是预览版
		files: |
			# 你要上传的文件

在加了tag后才发布

在每一个- name: 后加上if: startsWith(github.ref, 'refs/tags/')

- name: Create Release and Upload Release Asset
	if: startsWith(github.ref, 'refs/tags/')
	uses: softprops/action-gh-release@v1
	with:
		tag_name: V0.${{ github.run_id }}.dev
		name: V0.${{ github.run_id }}.dev
		body: TODO New Release.
		draft: false  # 是否是草稿
		prerelease: true # 是否是预览版
		files: |
			# 你要上传的文件
语法描述
${{ github.run_id }}运行身份标识(就是一堆纯数字)
github.ref当前分支名称(但必须要用“refs/tags/”或“refs/heads/main”)

重命名

重命名这部分,我原本不想写的,但就是这部分浪费了我一个小时的时间(主要是GitHub Actions构建速度有些慢)。当时,我原本是要rename来去完成这个东西,谁知道CI报错了,到后面我找了一些资料才知道——原来用mv是可以的。那我之前搞了那么一个小时真的是浪费了😭。
所以当我们要重命名文件的时候,只要用mv 原来的文件名 你想要的文件名就可以了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mryan2005

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值