GitHub操作-管道

vbopmzt1  于 2023-01-19  发布在  Git
关注(0)|答案(1)|浏览(148)

我必须创建一个管道的一部分,在我的朋友上,git已经是它的核心了。
每次提交后,文件中都会有新的内容添加到文件中,然后将文件返回给git,我可以看到最新的文件是zip中的一个文件(作为标签)。
我想做什么?我想在提交和释放新文件之间添加一些代码。在此期间,我想在命令行(或任何其他方法)中使用sed commit注解几行,然后将其作为robot.jar应用程序(java)的参数,并以与之前完全相同的方式返回结果。
我是在本地完成的,但是很难把它放到github中。每次提交后,我都希望获取文件opencs.ttl,做一些修改,然后按现在的样子返回。
我的代码在命令行本地注解文件:

sed -i '15 s/^/                     foaf:name "XYZ".] #/' <file>
sed -i '16 s/^/#/' <file>
sed -i '21 s/^/#/' <file>

运行robot的代码:

java -jar robot.jar reason --reasoner HermiT --axiom-generators "PropertyAssertion" --input openCS/output_opencs.ttl --output output_opencs2.ttl;

我的朋友管道(https://github.com/OpenCS-ontology/OpenCS):

name: "pre-release"

on:
  push:
    branches:
      - main

jobs:
  pre-release:
    name: "Pre-release"
    runs-on: "ubuntu-latest"
    container: ghcr.io/opencs-ontology/ci-worker:main

    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
        with:
          path: opencs

      - name: "Package ontology"
        run: python /app/package.py opencs package dev

      - uses: "marvinpinto/action-automatic-releases@v1.2.1"
        with:
          repo_token: "${{ secrets.GITHUB_TOKEN }}"
          automatic_release_tag: "dev"
          prerelease: true
          title: "Development build"
          files: package/*

##########################################################
      PROBABLY HERE SHOULD BE MY CODE (?)
##########################################################

      - name: "Prepare ontology files for commit"
        run: |
          mkdir output_files
          gzip -cd package/opencs.ttl.gz > output_files/opencs.ttl
          gzip -cd package/opencs.rdf.gz > output_files/opencs.rdf
          gzip -cd package/opencs.nt.gz > output_files/opencs.nt
      - name: "Push the files to the Github Pages repository"
        uses: "cpina/github-action-push-to-another-repository@main"
        env:
          SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
        with:
          source-directory: 'output_files'
          destination-github-username: 'opencs-ontology'
          destination-repository-name: 'opencs-ontology.github.io'
          user-name: ci-worker
          target-directory: /releases/latest
          target-branch: main

我在本地完成的,我可以用我的代码转换它,然后输入到robot.jar中并“推理”它。现在我不知道如何用git操作做同样的事情。

ogq8wdun

ogq8wdun1#

首先,Github并不总是知道你什么时候提交,但Github只有在知道某个事件时才能运行Actions,而这是在他们的托管存储库中的一个更改。这意味着你要么直接在Github上通过Web界面提交,要么在本地Git客户端提交并将更改推送到Github。
很可能你应该在Checkout repository步骤之后,python在Package ontology步骤中创建包之前添加你的代码。
使用run步骤执行sed和java命令。https://docs.github.com/en/actions/learn-github-actions/essential-features-of-github-actions#adding-scripts-to-your-workflow

相关问题