TeX LiveのCIテスティング

Similar documents
GitLab + Dokku で作る CI/ CD 環境 Kazuhiro NISHIYAMA 第 78 回 Ruby 関西勉強会 2017/07/29 Powered by Rabbit 2.2.0

DCL intro Manual for Ubuntu11.10

bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows ˆ Windows10 64bit Wi

バージョン管理ツールを使い Debian パッケージを管理する - Git 編

Microsoft PowerPoint - AXIES2015_OSS_tokiwa.pptx

Windows10上でのFrontISTR v5.0αの構築法

自己紹介 岩松信洋 (IWAMATSU Nobuhiro) Linux カーネル開発をしています (Renesas SH) U-Boot のSHアーキテクチャメンテナしています Debian の開発に参加しています Debian Maintainer / Debian JP Project Lead

IIJ Technical WEEK アプリ開発を楽にするRuby PaaS「MOGOK」について

KNOPPIX/Math ( ) MathLibre 2012dojo


Salesforce DX 設定ガイド

FOSSology - Install from Source のススメ 1

Server Backup Manager 5.0 Debian および Ubuntu システムへの Server Backup Free のインストール 1. APT-GET をしてServer Backup Free をインストールする 2. Server Backup Free のインストール

BIGLOBE クラウドホスティング 開発お役立ちパック GitLab 利用マニュアル 1.0 版 (2013 年 7 月 3 日 ) ビッグローブ株式会社 1 Copyright 2013 BIGLOBE. All Rights Reserved

PowerPoint プレゼンテーション

Ansible

[Unifinity]運用マニュアル

スピーカースライド作成前の確認シート例

クックパッドのテスト自動化

TortoiseSVN の基礎勉強 〜TortoiseSVN によるバージョン管理を使う〜

Introduction 情報技術ドキュメント例 techdoc-ja は 日本語で情報技術ドキュメント ( 仕様書やドキュメント等 ) を記述するためのオーサリング環境を 提供します 本ドキュメントは その利用実例です 要件 ドキュメントを Markdown 形式で記述する コードブロックのシンタ

3.2 Linux root vi(vim) vi emacs emacs 4 Linux Kernel Linux Git 4.1 Git Git Linux Linux Linus Fedora root yum install global(debian Ubuntu apt-get inst

untitled

Microsoft PowerPoint - 22_git ppt

実践 Infrastructure as Code

スライド 1

要旨 : 医薬品開発における SAS プログラム開発において プログラムだけでなく その実行ログやデータセット 結果等の関連ファイルのバージョン管理を安全に行い 社内で共有する方法として git 及び SPITS を評価 検討した キーワード : SAS プログラム, バージョン管理, 共有, gi

Doxygenを用いた効率的な プログラム仕様書の作成

TortoiseGit の基礎勉強 〜TortoiseGit によるバージョン管理を使う〜

Agenda! 事前準備

mnal_HDR4ex_5ex.pdf

workshop Eclipse TAU AICS.key

クラウド内の Java - 動画スクリプト 皆さん こんにちは Steve Perry です 私たちが作成した人事アプリケーションを覚えていますか? 今回は そのアプリケーションをクラウド内で実行しましょう コードは GitHub の

kubeadmよりも遠い場所 ~手動でガンバるKubernetes on Raspberry Pi~

Asakusa Test Driver

バージョン管理システム 門 CVS,Subversion, そして Git まで 佐々 洋平 北大 理 宇宙理学 / 神大 理 地球惑星地球流体電脳倶楽部 2008/10/03 神大自然科学総合研究棟 3 号館 507

161 Debian.Deb 銀河系唯一の Debian 専門誌 GO

DCL intro Manual for Ubuntu12.04

Raspberry Pi3 / arm64 - Debian/Ubuntu ミートアップ in 札幌

9 rbenv rbenv ruby 9.1 rbenv rbenv rbenv ruby ruby-build ruby 9.2 rbenv macos.bash_profile ~/.bash_profile ~/.bash_profile.bak $ touch ~/.bash_profile

SAS_user_2015_fukiya02

(1/2) 2/45 HPC top runner application programmer PC-9801F N88-BASIC Quick BASIC + DOS ( ) BCB Windows Percolation, Event-driven MD ActionScript Flash

appli_HPhi_install


swak4Foamを使って見ました.odp

Copyright (c) 2018, Katsushi Kobayashi. All rights reserved. クレジット : UTokyo Online Education Education コンピュータシステム概論 2018 小林克志 ライセンス : 利用者は 本講義資料を 教育的な

5-3- 基統合開発環境に関する知識 1 独立行政法人情報処理推進機構

【知事入れ版】270804_鳥取県人口ビジョン素案

2. Docker の基本的な操作 1 docker hub の参照 2 DockerHub の Explorer リンクからアプリケーションを参照 3 アプリケーション検索 4 tag について 3. docker 基本コマンド 1 docker の

IBM i World 2017 Ver /04/21 ー IBM i の視点からみる開発トレンドの動向ー ティアンドトラスト株式会社小川誠

スライド 1

28th Embarcadero Developer Camp

サーバーレスアプリケーションのための CI/CD パイプライン構築 

目次 1. はじめに 本書対象者 PALRO のアプリケーションについて Ubuntu 8.04LTS の入手について Linux 上での開発環境の構築 事前準備 Ubuntu のインストール..

Git の基礎勉強 〜Git によるバージョン管理を使う〜

AWS Deck Template

SVN UUID の不一致と SVN のデータ同期

Nexus アプリケーション開発 - SDK

I117 II I117 PROGRAMMING PRACTICE II HASH Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara

PowerPoint Presentation

E2 Spider 2018/08/03 Intel NUC Core i7 PC 2.5 /M.2 SSD BOXNUC7I7BNH PC DDR4-2133(PC ) 8GBX2 260pin 1.2V CL15 SP016GBSFU213B22 WD SSD M /51

本日の概要 BeagleBoard 及び周辺機器の調達 ビルドから起動まで 注 : 起動はしたけどネット接続に問題がありまだまともに使えていません 既に使っている人も居るので設定や周辺機器等の問題だと思います

openSUSE Build Service を使ってみよう

利用者

Microsoft Word - appendix_b_srft.doc

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 7編)

PPT Template

Helix Swarm2018.1インストール手順

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 6編)

オフラインメンテナンス説明書





<8B9E8B40925A904D D862E706466>



untitled




楽しい開発.pptx

Chap. 1 OpenNebula PCI passthrough OpenNebula 14 Mellanox ConnectX-3 InniBand HCA InniBand HCA 1.1 OpenNebula OpenNebula Ubuntu gihyo.jp Ubuntu Weekly

スライド 1

PowerPoint プレゼンテーション

Microsoft PowerPoint _2.プログラミングの基礎_final

A : kerl kerl Erlang/OTP Erlang/OTP 2 2 Elixir/Phoenix URL 2 PDF A.2 Bash macos.bash_profile exp

7th CodeGear Developer Camp

Docker Haruka Iwao Storage Solution Architect, Red Hat K.K. February 12, 2015

OpenCV Windows(cygwin) Linux USB PC [1] Inel OpenCV OpenCV 1 Windows Linux OpenCV (a) (b)2 (c) (d) 1: OpenCV 1

PowerPoint プレゼンテーション

Presentation Title Here

20 H8/3069LAN H. Fukura

利用者

Subversion の基礎勉強 〜Subversion によるバージョン管理を使う〜

チーズケーキ技術 17.12

SCore と escience の install と 設定について 理化学研究所 亀山豊久

intra-mart Accel Platform — intra-mart Sphinxドキュメント ビルド手順書   第2版  

51 Debian

AWS Deck Template

Transcription:

T E X Live の CI テスティング Norbert Preining 北海道大学 札幌 2018 年 11 月 10 日

概要 Subversion と git の踊り T E X Live sources の CI T E X Live インストーラーの CI まとめ

Subversion と git の踊り

SvnRepo git svn dcommit git svn fetch DevRepo A FetchingRepo git push (1) DevRepo E DevRepo B BareRepo git pull git push (2) DevRepo D DevRepo C

git svn dcommit SvnRepo FetchingRepo git svn fetch FetchingRepo 全て texlive.info DevRepo A git push (1) DevRepo E DevRepo B BareRepo git pull git push (2) DevRepo D DevRepo C

git svn dcommit SvnRepo git svn fetch FetchingRepo 全て texlive.info DevRepo A DevRepo B FetchingRepo git push (1) BareRepo DevRepo E DevRepo D BareRepo 全体の TL git.texlive. info ( 約 30Gb) git pull git push (2) DevRepo C

SvnRepo git svn fetch git svn dcommit FetchingRepo DevRepo A DevRepo E git push (1) BareRepo DevRepo B DevRepo D git pull git push (2) FetchingRepo 全て texlive.info BareRepo 全体の TL git.texlive. info ( 約 30Gb) Github: ソースインストーラー DevRepo C

git リポジトリ 全体の T E X Live git.texlive.info/texlive( 約 30Gb) アノニマスと gitolite(ssh) のアクセス

git リポジトリ 全体の T E X Live git.texlive.info/texlive( 約 30Gb) アノニマスと gitolite(ssh) のアクセス T E X Live ソース github.com/tex-live/texlive-source T E X Live インストーラー github.com/tex-live/texlive-installer

git リポジトリ 全体の T E X Live git.texlive.info/texlive( 約 30Gb) アノニマスと gitolite(ssh) のアクセス T E X Live ソース github.com/tex-live/texlive-source T E X Live インストーラー github.com/tex-live/texlive-installer LuaT E X もあります

ミラーの仕組み cron ジョブで sync が行う 全体の T E X Live 毎 15 分 5,20,35,50 ソース 毎 30 分 0,30 インストーラー 毎 15 分 7,22,37,52 LuaT E X 毎 30 分 18,48

sync script git checkout trunk git svn fetch --all git push

sync script git checkout trunk git svn fetch --all git push 実際にもう少し複雑 ;-) 注意 :svn tag と svn branch は git のブランチになる!

sync script git checkout trunk git svn fetch --all git push 実際にもう少し複雑 ;-) 注意 :svn tag と svn branch は git のブランチになる! その前の設定は https://www.preining.info/blog/2018/06/ git-and-subversion-collaboration/ に参考ください

開発者の使い方 普通に git pull 新しいフィーチャーをフィーチャーブランチに開発 フィーチャーブランチを git push は OK 直接 trunk に git push は NG trunk にコミットの場合は git svn dcommit で Svn にコミットする

ブランチ保護 直接 trunk に git push できないように!

ブランチ保護 直接 trunk に git push できないように! Gitolite repo texlive RW+ = texlive-deployment RW+ dev/ merged/ = preining R = preining 特別の ssh deploy key で sync command がプッシュ許可がある自分 dev/ と merged/ といえブランチ名だけにプッシュしていい

ブランチ保護 直接 trunk に git push できないように! Gitolite repo texlive RW+ = texlive-deployment RW+ dev/ merged/ = preining R = preining 特別の ssh deploy key で sync command がプッシュ許可がある自分 dev/ と merged/ といえブランチ名だけにプッシュしていい Github Repository Settings Branches Branch protection

CI テスティング

CI テスティングとは 新しいコミットが登録した場合は アックジョンが行う アックジョンの例ーソースをコンパイルースクリプトを起動ー L A T E X ドキュメントをコンパイル いろんな設定 : ー 1 つ 全てのブランチー全てのコミット最後のだけ 自動に行う

CI テスティングの概要 ソース :Linux, OS/X のうえにビルドテスト インストーラー :Linux, OS/X, Windows のうえにインストールテスト

CI テスティングの概要 ソース :Linux, OS/X のうえにビルドテスト インストーラー :Linux, OS/X, Windows のうえにインストールテスト 使用されたサービス : TravisCI https://travis-ci.org/tex-live/ Linux, OS/X AppVeyor: Windows

T E X Live ソース TravisCI https://travis-ci.org/tex-live/texlive-source Linux (amd64, i386) Debian/Jessie Linux/MUSL (amd64) Alpine Linux 3.1 OS/X (amd64)

T E X Live インストーラー TravisCI https://travis-ci.org/tex-live/installer Linux, OS/X AppVeyor https: //ci.appveyor.com/project/norbusan/installer Windows

TravisCI のソース テスト スクリプト.travis.yml docker run -e TL_MAKE_FLAGS= -j 2 \ -v ${TRAVIS_BUILD_DIR}:/texlive -w /texlive \ -it --rm i386/debian:jessie sh -c \ apt-get update; \ apt-get install -y --no-install-recommends \ bash gcc g++ make perl libfontconfig-dev \ libx11-dev libxmu-dev libxaw7-dev \ build-essential ; \./Build -C

TravisCI のインストーラーのテスト スクリプト Profile: selected_scheme scheme-infraonly TEXDIR /usr/local/texlive option_doc 0 option_src 0 sudo./install-tl -profile=texlive.profile テスト :tlmgr version を起動

デプロイ git tag の時 ビルドの後特別のアックジョンが行う : T E X Live ソースのコンパイルで生成されたバイナリを.tar.gz にいれる Github にアップする

デプロイ git tag の時 ビルドの後特別のアックジョンが行う : T E X Live ソースのコンパイルで生成されたバイナリを.tar.gz にいれる Github にアップする

デプロイ git tag の時 ビルドの後特別のアックジョンが行う : T E X Live ソースのコンパイルで生成されたバイナリを.tar.gz にいれる Github にアップする 新しいリリースの準備の場合は このバイナリは Subversion にいれている (Linux, Linux/MUSL の場合は )

まとめ バグを早く見つけられるように フィーチャーをバグなしまでマージしなくてテスティングできる 公式の T E X Live バイナリを作ってくれる Windows でのインストーラーテスティング (Linux のうえ毎日 tug.org のテスティングが行う )

まとめ バグを早く見つけられるように フィーチャーをバグなしまでマージしなくてテスティングできる 公式の T E X Live バイナリを作ってくれる Windows でのインストーラーテスティング (Linux のうえ毎日 tug.org のテスティングが行う ) 僕は Subversion をあまり触らないようになった!

まとめ バグを早く見つけられるように フィーチャーをバグなしまでマージしなくてテスティングできる 公式の T E X Live バイナリを作ってくれる Windows でのインストーラーテスティング (Linux のうえ毎日 tug.org のテスティングが行う ) 僕は Subversion をあまり触らないようになった! ありがとうございました!