diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml deleted file mode 100644 index be8cbbd..0000000 --- a/.forgejo/workflows/test.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: GTFS Shapes Generation - -on: [push] - -jobs: - modify_routes: - runs-on: docker - steps: - - name: Download sample feed - run: curl -o sample-feed.zip https://download.data.public.lu/resources/horaires-et-arrets-des-transport-publics-gtfs/20240530-080402/gtfs-20240529-20240621.zip - - - name: Download OSM data - run: curl -o luxembourg-latest.osm.pbf https://download.geofabrik.de/europe/luxembourg-latest.osm.pbf - - - name: Run Shape Generation - uses: gtfs-actions/generate-shapes@v1 - with: - gtfs_file: sample-feed.zip - osm_file: luxembourg-latest.osm.pbf - mot: bus - output_file: modified-feed.zip - - - name: Upload modified feed - uses: actions/upload-artifact@v4 - with: - name: modified-feed - path: modified-feed.zip \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..5b26f87 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,110 @@ +name: Build +'on': + - push +jobs: + ubuntu-20-04-build-gcc: + runs-on: ubuntu-20.04 + steps: + - name: Checkout repository code + uses: actions/checkout@v2 + - name: Checkout submodules + run: git submodule update --init --recursive + - name: update apt + run: sudo apt update + - name: install dependencies + run: sudo apt install -y cmake gcc g++ + - name: cmake + run: mkdir build && cd build && cmake .. + - name: make + run: cd build && make + - name: tests + run: cd build && ctest --output-on-failure + ubuntu-latest-build-gcc: + runs-on: ubuntu-latest + steps: + - name: Checkout repository code + uses: actions/checkout@v2 + - name: Checkout submodules + run: git submodule update --init --recursive + - name: update apt + run: sudo apt update + - name: install dependencies + run: sudo apt install -y cmake gcc g++ + - name: cmake + run: mkdir build && cd build && cmake .. + - name: make + run: cd build && make + - name: tests + run: cd build && ctest --output-on-failure + ubuntu-20-04-build-clang: + runs-on: ubuntu-20.04 + steps: + - name: Checkout repository code + uses: actions/checkout@v2 + - name: Checkout submodules + run: git submodule update --init --recursive + - name: update apt + run: sudo apt update + - name: install dependencies + run: sudo apt install -y cmake clang + - name: cmake + run: mkdir build && cd build && cmake .. + shell: bash + env: + CC: clang + CXX: clang++ + - name: make + run: cd build && make + - name: tests + run: cd build && ctest --output-on-failure + ubuntu-latest-build-clang: + runs-on: ubuntu-latest + steps: + - name: Checkout repository code + uses: actions/checkout@v2 + - name: Checkout submodules + run: git submodule update --init --recursive + - name: update apt + run: sudo apt update + - name: install dependencies + run: sudo apt install -y cmake clang + - name: cmake + run: mkdir build && cd build && cmake .. + shell: bash + env: + CC: clang + CXX: clang++ + - name: make + run: cd build && make + - name: tests + run: cd build && ctest --output-on-failure + macos-latest-build: + runs-on: macOS-latest + steps: + - name: Checkout repository code + uses: actions/checkout@v2 + - name: Checkout submodules + run: git submodule update --init --recursive + - name: install dependencies + run: brew install cmake + - name: cmake + run: mkdir build && cd build && cmake .. + - name: make + run: cd build && make + - name: tests + run: cd build && ctest --output-on-failure + macos-12-build: + runs-on: macOS-12 + steps: + - name: Checkout repository code + uses: actions/checkout@v2 + - name: Checkout submodules + run: git submodule update --init --recursive + - name: install dependencies + run: brew install cmake + - name: cmake + run: mkdir build && cd build && cmake .. + - name: make + run: cd build && make + - name: tests + run: cd build && ctest --output-on-failure diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml new file mode 100644 index 0000000..c2fcdac --- /dev/null +++ b/.github/workflows/container.yml @@ -0,0 +1,46 @@ +name: "Container image build" + +on: + push: + branches: [ master ] + pull_request: + +jobs: + + image: + env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value={{date 'YYYY-MM-DDTHH-mm'}} + type=raw,value=latest + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + push: ${{ github.ref == 'refs/heads/master' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/action.yml b/action.yml deleted file mode 100644 index 6fe43de..0000000 --- a/action.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: 'Generate shapes from OSM data' -description: 'Use pfaedle to generate shapes from OSM data for a GTFS feed.' - -inputs: - gtfs_file: - description: 'Path to GTFS .zip file.' - required: true - osm_file: - description: 'Path to OSM .pbf file.' - required: true - mot: - description: 'Mode of transport to generate shapes for.' - required: false - default: 'all' - output_file: - description: 'Path to output GTFS .zip file.' - required: true - -runs: - using: 'docker' - image: 'Dockerfile' - args: - - '-i' - - ${{ inputs.gtfs_file }} - - '-x' - - ${{ inputs.osm_file }} - - '-m' - - ${{ inputs.mot }} - - '-o' - - ${{ inputs.output_file }} \ No newline at end of file