• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Mryan2005
不是天生非凡,而是敢于非凡
博客园    首页    新随笔    联系   管理    订阅  订阅
在编写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 原来的文件名 你想要的文件名就可以了。

本文来自博客园,作者:Mryan2005,转载请注明原文链接:https://www.cnblogs.com/Mryan2005/p/17872812.html

posted on 2022-07-19 10:49  Mryan2005  阅读(79)  评论(0)    收藏  举报  来源
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3