Github Actions教程:运行python代码并Push到远端仓库

我自己做了一个网站,这个网站会使用一个python脚本来生成。

具体生成的方法是python脚本会读取目录下的csv文件,将每一行数据解析成固定格式,然后生成html文件,最后需要将修改后的文件自动push到github

当然上面所有的步骤都是自动化实现的,总结如下:

  1. 我本地修改csv文件,然后push到github
  2. 我的push操作会触发实现设定好的action

action代码设置如下:

name: Python application

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - name: checkout actions
    - uses: actions/[email protected]

    - name: Set up Python 3.7
      uses: actions/[email protected]
      with:
        python-version: 3.7

    - name: Update paper list
      run: |
        cd paper_infos
        python generate_tables.py

    - name: commit
      run: |
        git config --global user.email [email protected]
        git config --global user.name marsggbo
        git add .
        git commit -m "update" -a

    - name: Push changes
      uses: ad-m/[email protected]
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}

代码解释:

  • 第一行name: 随便可以设置,就是你的action名字
  • on: 触发条件,我这里设置的是push操作一旦发生就出发
  • jobs: Github Actions的层级关系是这样的: workflow/jobs/steps/action。 注意将action和Github Actions中的Actions区分开来,二者是不同的概念,action就表示最低level的动作,Actions就是Github给我们提供的一个功能的名字而已。
  • steps:和jobs类似。可以看到steps由若干个step组成,每个step都可以设置name
  • uses:这个表示使用别人预先设置好的Actions,比如因为我代码中要用到python,所以就用了actions/[email protected]来设置python环境,不用我自己设置了。
  • run: 表示具体运行什么命令行代码
    • 可以看到,我首先在名字为Update paper list里运行了python脚本
    • 之后对github文件夹做了commit
    • 最后使用别人的actions把更新后的代码再次push到github
  • 最后一行github_token需要注意,这个弄了我好一会才明白,这个其实就相当于你的密码吧。这个设置方法是进入你在个人设置页面(即Settings,不是仓库里的Settings),选择Developer settings>Personal access tokens>Generate new token,设置名字为GITHUB_TOKEN,然后勾选repo,admin:repo_hook,workflow等选项,最后点击Generate token即可。

具体代码可参见marsggbo/automl_a_survey_of_state_of_the_art

MARSGGBO?原创

如有意合作,欢迎私戳

邮箱:[email protected]

2019-12-24 11:25:45

原文地址:https://www.cnblogs.com/marsggbo/p/12090703.html

时间: 2024-09-30 21:10:59

Github Actions教程:运行python代码并Push到远端仓库的相关文章

SAE部署Python-让云端自动运行Python代码

之前写过模拟登录新浪微博的帖子,然而我并没有去爬过微博的数据,觉得有点浪费,于是就想写一个代码来发微博.写完之后觉得如果能自动发微博就好了,但是我又不可能24小时开始(晚上12点后还会断网),也没有vps(穷学生狗),找过几个免费vps未果,然后想到之前用过新浪SAE,就想能不能在上面试试. 试了一天左右终于让我试出来了!!  基本实现了: 1.定时发送,这里是定时半小时 2.离线自动,基于sae,无需开电脑blabla 但是也有不完美的地方:本地我可以直接模拟登录,但是把代码放到sae上死都不

在notepad++中运行python代码

#在notepad++中运行python代码 ''' 1.安装插件pyNPP, 2.允许插件pyNPP中的第一个和第二个选项即可,如果代码过少代码执行一闪而过,可能无法看到,可加入少量sleep时间即可 ''' 方法二:1.安装插件NppExec2.打开NppExec--Execute,在下拉菜单中选择<temporary script>,在输入框中输入:cmd /k python "$(FULL_CURRENT_PATH)" & EXIT然后,点击save,并给该

运行python代码报错UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xe7 in position 91: ordinal not in range(128)的解决办法

1.通过搜集网上的资料,自己多次尝试,问题算是解决了,在代码中加上如下几句即可: import sys reload(sys) sys.setdefaultencoding('utf-8') 2.原因就是Python的str默认是ascii编码,和unicode编码冲突,混淆了python2 里边的 str 和 unicode 数据类型. 3.python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii. 运行python代码报错UnicodeDec

在 Xcode 里编译运行 Python 代码

Xcode有着良好的自动补全功能和自动缩进功能,而且Xcode本身也是iOS开发唯一的选择.我们是否可以在这样一个集成环境里,搭建python运行环境呢?答案是可以的,而且很简单,运行的时候也很方便.下面来简单讲解如何在Xcode 5下,搭建python编译环境来编写和运行python程序. 指引 / 跳至 1找到 Python 2Xcode 编译 Python 程序 3Edit Scheme 4Build and Run 找到 Python 每个OS X系统都内置了python,我们可以在[实

Pycharm中运行Python代码的几种方式

在pycharm中的Python代码运行会出现各种奇葩的问题,比如,密码输入时不显示或没有提示,给我们带来一些麻烦,下面介绍几种代码运行的几种方式: 一.直接运行(Run按钮或者快捷键shift+F10) 1.进入pychram主界面,输入代码后,直接Run就可以: 2.Termnal下运行.py文件 在pycharm的主界面,点termnal,进入命令面板,选择路径,回车键执行相应的文件(python 文件名.py). 3.终端命令行 1>进入pycharm主界面,选中要执行的文件或目录; 2

无需操作系统和虚拟机,直接运行Python代码

Josh Triplett以一个“笑点”开始了他在PyCon 2015上的演讲:移植Python使其无需操作系统运行:他和他的英特尔同事让解释器能够在GRUB引导程序.BIOS或EFI系统上运行.连演讲的休息时间也没放过,他有很多有趣的要说的事情,还有许多让人大开眼界的演示. Python在Boot Loader上运行的最初想法是能够测试硬件,像BIOS,可扩展固件接口(EFI)以及高级配置和电源接口(ACPI),而无需去写一些“一次性测试项目“程序集.传统来说,英特尔已经写了很多针对DOS(B

无需操作系统直接运行 Python 代码

Josh Triplett以一个“笑点”开始了他在PyCon 2015上的演讲:移植Python使其无需操作系统运行:他和他的英特尔同事让解释器能够在GRUB引导程序.BIOS或EFI系统上运行.连演讲的休息时间也没放过,他有很多有趣的要说的事情,还有许多让人大开眼界的演示. Python在Boot Loader上运行的最初想法是能够测试硬件,像BIOS,可扩展固件接口(EFI)以及高级配置和电源接口(ACPI),而无需去写一些“一次性测试项目“程序集.传统来说,英特尔已经写了很多针对DOS(B

无需操作系统直接运行 Python 代码!

Josh Triplett以一个"笑点"开始了他在PyCon 2015上的演讲:移植Python使其无需操作系统运行:他和他的英特尔同事让解释器能够在GRUB引导程序.BIOS或EFI系统上运行.连演讲的休息时间也没放过,他有很多有趣的要说的事情,还有许多让人大开眼界的演示. Python在Boot Loader上运行的最初想法是能够测试硬件,像BIOS,可扩展固件接口(EFI)以及高级配置和电源接口(ACPI),而无需去写一些"一次性测试项目"程序集.传统来说,英

Vim下一键运行python代码

根据系统将下面代码复制到vim配置文件vimrc中,即可在vim中一键[F5]运行.py文件. Windows下的gvim "一键运行代码 function CheckPythonSyntax() let mp = &makeprg let ef = &errorformat let exeFile = expand("%:t") setlocal makeprg=python\ -u set efm=%C\ %.%#,%A\ \ File\ \"%